2016-12-13 194 views
2

我目前工作的一個項目,我想實現一個請求多API處理器Laravel單個請求多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 
    } 
} 

回答

0

響應此代碼,使其工作

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