@Vanhelm
Не умею писать о себе

Laravel middlaware auth:api возвращает HTML, почему?

Добрый день.

Прошу помощи. Большинство способов из интернета перепробовал, но они не срабатывают для меня.
Есть API авторизация через laravel pasport. Методы регистрации и авторизации работают правильно, и возвращают токен.

Но наблюдается проблемы с защищенными маршрутами middlaware auth:api
Route следующего типа работает, и возвращает данные JSON формате:
Route::middleware('auth:api')->get('/user', function (Request $request) {
	    return $request->user();
	});

Но если использовать конструкцию следующего вида:
Route::post('/auth/logout', [RegisterController::class, 'logout'])->middleware('auth:api');

То тогда я получаю ответ в виде html страницы.
614311e914bbe864628619.png
Если передать неправильный токен, то я получаю нормальные данные уже:
6143122696233246494799.png
Если при этом в Route использовать метод, которого нет в контроллере, то ничего не изменится, ответ будет тот же. Как будто эта часть не выполняется и контроллер не запускается.

Подозреваю, что я что-то пропускаю и делаю не правильно. Прошу указать мне на это
  • Вопрос задан
  • 386 просмотров
Решения вопроса 1
Нужно в postman вместо

Content-Type : application/json
поставить
Accept : application/json

Content-Type - указывает какой тип контента отправит клиент
Accept - указывает какой тип контента ожидает от сервера

Поэтому laravel воспринимает клиента как браузер и отдает html а не json
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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