Laravel 响应:中间件实现返回 JSON 响应 0 个改进

如果你使用 Laravel 只是用来构建 API 服务器,你可能希望所有返回的响应都是 JSON 格式的,即便是遇到错误和异常。

下面推荐一个使用中间件来实现的方案:

第一步、创建 JsonMiddleware

app/Http/Middleware/JsonMiddleware.php

<?php 
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class JsonMiddleware 
{
    public function handle(Request $request, Closure $next) 
    {
        $request->headers->set('Accept', 'application/json');

        return $next($request);
    }
}

第二步、添加全局中间件

app/Http/Kernel.php

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * @var array
     */
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \App\Http\Middleware\JsonMiddleware::class,
    ];

    .
    .
    .
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!