zoukankan      html  css  js  c++  java
  • Laravel 返回 JSON 格式

    第一种方法: 

    第一步、编写 BaseRequest
    首先我们需要构建一个 BaseRequest 来重写 IlluminateHttpRequest ,修改为默认优先使用 JSON 响应:

    app/Http/Requests/BaseRequest.php

    <?php
    namespace AppHttpRequests;
    
    use IlluminateHttpRequest;
    class BaseRequest extends Request
    {
        public function expectsJson()
        {
            return true;
        }
        public function wantsJson()
        {
            return true;
        }
    }
    

      

    第二步、替换 BaseRequest
    在 public/index.php 文件中,将 IllumiateHttpRequest 替换为我们的 BaseRequest,如下:

    $response = $kernel->handle(
        $request = AppHttpRequestsBaseRequest::capture()
    );
    

      

    第二种方法:

    使用中间件

    namespace AppHttpMiddleware;
    
    use Closure;
    
    class ForceJson
    {
        /**
         * Handle an incoming request.
         *
         * @param  IlluminateHttpRequest $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' => AppHttpMiddlewareForceJson::class,
    

     修改 routes/api.php

    Route::group(['middleware' => ['force-json', 'auth:api']], function () {
        // put your router
    });
    

      

  • 相关阅读:
    day02-xml
    day01-java重点复习
    RPM包和YUM仓库管理
    Nginx的下载与安装
    yum源本地部署完后网络部署报错
    RAID和LVM
    磁盘管理
    xargs详解
    locate及find查找命令
    linux的进程和管道符(二)
  • 原文地址:https://www.cnblogs.com/toughlife/p/9678819.html
Copyright © 2011-2022 走看看