Laravel单一请求多API处理程序

时间:2016-12-13 07:40:17

标签: php laravel laravel-5.3

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

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

我有一个路由apis,它会循环遍历每个输入请求密钥,然后检查是否存在与请求匹配的现有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
    }
}

1 个答案:

答案 0 :(得分:0)

此代码使其有效

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