第一種方法:
第一步、編寫 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
});
