Laravel 返回 JSON 格式


 

第一種方法: 

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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM