【问题标题】:Laravel single request multi API handlerLaravel 单请求多 API 处理程序
【发布时间】:2017-04-28 04:51:35
【问题描述】:

我目前正在做一个项目,我想实现一个单请求多 API 处理程序

这是一个示例请求http://localhost:8000/api/v1/apis?products&outlets&registers

我有一个路由 api,它将遍历每个输入请求键,然后检查是否存在与请求匹配的现有 api 路由,调度捕获响应然后推送到数组。但它不起作用。

Route::get('apis', function(Request $request) {
    $inputs = $request->all();
    $responses = [];
    $i=0;
    foreach ($inputs as $key => $value) {
        $request = Request::create('/api/v1/' . $key);

        try {
            $routes = Route::getRoutes();
            $routes->match($request);

            $response = Route::dispatch($request);

            $responses[$key] = $response;
        }catch (\Exception $e){
            $responses[$key] = [];
        }
    }

    return $responses;
});

这是我得到的回应

{
    "products": {
        "headers": {},
        "exception": null
    },
    "outlets": {
        "headers": {},
        "exception": null
    },
    "registers": {
        "headers": {},
        "exception": null
    }
}

【问题讨论】:

    标签: php laravel laravel-5.3


    【解决方案1】:

    这段代码让它工作

    $responses[$key] = json_decode($response->content());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 1970-01-01
      • 2020-03-27
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多