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
    });
    

      

  • 相关阅读:
    ajax和comet
    javascript和XML
    HTML5脚本编程
    JSON
    JMS以及JMS使用方式
    单例模式
    java.sql.SQLException: No suitable driver, com.mysql.jdbc.Driver 解决
    获取用户登录IP
    使用CommonsMultipartFile上传文件
    attempted to assign id from null one-to-one property
  • 原文地址:https://www.cnblogs.com/toughlife/p/9678819.html
Copyright © 2011-2022 走看看