第一种方法:
第一步, 编写 BaseRequest
首先我们需要构建一个 BaseRequest 来重写 Illuminate\Http\Request , 修改为默认优先使用 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 文件中, 将 \Illumiate\Http\Request 替换为我们的 BaseRequest, 如下:
- $response = $kernel->handle(
- $request = \App\Http\Requests\BaseRequest::capture()
- );
第二种方法:
使用中间件
- namespace App\Http\Middleware;
- use Closure;
- class ForceJson
- {
- /**
- * Handle an incoming request.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next)
- {
- $request->headers->set('accept', 'application/JSON');
- return $next($request);
- }
- }
Kernel.PHP 加入
'force-JSON' => \App\Http\Middleware\ForceJson::class,
修改 routes/API.PHP
- Route::group(['middleware' => ['force-JSON', 'auth:API']], function () {
- // put your router
- });
来源: http://www.bubuko.com/infodetail-2774442.html