@pritchin_maxim1
Начинающий IT-Разработчик

Как сделать что бы Laravel API Возвращало только json?

Проблема состоит в том: на входе может быть form-data или json таблица, на выходе должна быть json-ответ.
Как сделать грамотно без костылей в Документации по API Нет подобного решения
Если на вход приходит форма без заголовков, то меня валидатор редиректит на индексную страницу. Если заголовок Accept application/json то возвращается ответ в json но при этом игнорит данные которые пришли с формы
  • Вопрос задан
  • 617 просмотров
Решения вопроса 2
JhaoDa
@JhaoDa
LaravelRUS Team
Во-первых, если «на входе может быть form-data или json таблица», то это фиговое API. В нефиговом API всё одинаково, квадратно и красиво, как в армии. А ещё в json нет таблиц.

Во-вторых, открываем App\Exceptions\Handler, идём в класс-родитель, находим метод convertValidationExceptionToResponse, переопределяем в классе-потомке и меняем поведение на нужное.
Ответ написан
Комментировать
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
<?php

namespace App\Http\Middleware;

class Api
{
	public function handle($request, $next)
	{
		$request->headers->set('Accept', 'application/json');

		return $next($request);
	}
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы