Laravel 灵活使用 中间件, 自定义全局 API JSON 返回格式

  1. 首先创建中间件

    php artisan make:middleware CustomApiMiddleware

  2. 将这个中间件定制为一个 After Middleware, 参阅官方文档

    /app/Http/Middleware/CustomApiMiddleware.php

    
    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    use Illuminate\Http\Response;
    
    class CustomApiMiddleware
    {
        public function handle($request, Closure $next, $guard = null)
        {
            $response = $next($request);
            $original = $response->getOriginalContent();
    
            // 在这里可以定制你想要的返回格式, 亦或者是 JSON 编码格式
            $response->setContent([
                'code' => 200,
                'data' => $original,
                'message' => '',
            ]); 
            return $response;
        }
    }
  3. 编辑 /app/Http/Kernel.php, 把这个中间件放到你想要的中间件组里. 比如可以添加到 api 这个 group 中, 当然也可以自定义中间件名字后, 配置给特定的路由使用

    protected $middlewareGroups = [
        // ...
        'api' => [
            // ...
            \App\Http\Middleware\CustomApiMiddleware::class,
        ],
    ];
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1
ALMAS

岂不是所有返回的code是200,message是空的?

4年前 评论

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