API를 완전히 제공하는 Laravel 애플리케이션을 작성할 때, 예를 들어 /home 또는 /login으로 리디렉션되는 인증 오류가 결국 InvalidArgumentException으로 바뀌는 대신 모든 응답이 JSON 형식이기를 원합니다. 경로 [로그인]보기가 정의되지 않았습니다.
추천 튜토리얼: "laravel tutorial"
다음의 간단한 솔루션을 사용하면 Laravel 애플리케이션이 먼저 JSON 형식으로 응답하도록 할 수 있습니다.
1단계, BaseRequest 작성
먼저 IlluminateHttpRequest를 다시 작성하기 위해 BaseRequest를 빌드하고 이를 JSON 응답을 사용하는 기본 우선순위로 변경해야 합니다:
app/Http/Requests/BaseRequest.php
<?php namespace App\Http\Requests; use Illuminate\Http\Request; class BaseRequest extends Request { public function expectsJson() { return true; } public function wantsJson() { return true; } }
단계 둘째, BaseRequest 바꾸기
public/index.php 파일에서 IllumiateHttpRequest를 다음과 같이 BaseRequest로 바꾸십시오.
$response = $kernel->handle( $request = \App\Http\Requests\BaseRequest::capture() );
완료!
이제 오류와 예외를 포함한 모든 응답은 application/json 입니다.
커뮤니티에서 https://learnku.com/laravel/wikis/16069
위 내용은 Laravel API가 항상 JSON 형식의 응답을 반환하도록 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!