ThreegunD
@ThreegunD

Middleware-возврат json строки?

Есть кнопка добавления товара,добавлять могут только авторизованные пользователи.
AJAX-запросом происходит добавление, запрос натыкается на middleware и нужно в случае неудачи вернуть ошибку.
Собственное в документации только про redirect написано,но мне редирект не подходит.

p.s. мои мысли на этот счёт такие: Нужно выбросить исключение, сделать обработчик этого исключения и он уже вернёт код ошибки например.Верно хоть думаю или как это реализовать?
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
При AJAX запросе будет возвращен 401 Unauthorized а не редирект. Обрабатывайте ответ при ошибках.

Всетаки нет.
Лучше написать собственный мидлвейр, например:
public function handle($request, Closure $next)
    {
        if ($this->guard->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest(URL::route('auth'));
            }
        }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы