2013-07-01 21 views
0

當createing一個RESTful API與Laravel 4和存儲庫的圖案(MVRC)是它最好到BaseController內聲明函數如Laravel 4的RESTful API數據返回類型

returnData($data, $dataType = 'JSON') { 

    if($dataType == 'XML') { 

     return SimpleXML($data); 
    } 
    else { 

     return json_encode($data); 
    } 
} 

或者是它的最佳做法把它放在一個輔助庫類中?或者也許在別的地方?

+0

XML響應真的有必要嗎?它只會給支持多種響應類型的API帶來開銷,並會引起一些頭痛的問題。我會建議堅持使用JSON,除非XML是您**必須爲用戶提供的內容。 –

回答

0

唉,其實我做的項目在BaseController類似的東西我的工作:

public function smart_response($data, $redirect_to_route = null, $route_params = array()) 
{  
    if (Request::ajax()) 
    { 
     return Response::json($data); 
    } 
    else 
    { 
     Alert::boolean($data['msg'], $data['success']); 
     return is_null($redirect_to_route) ? Redirect::back() : Redirect::to_route($redirect_to_route, $route_params); 
    } 
} 

我想你可以把我的想法。

也許你也可以使用後期過濾器?但我不認爲這是正確的或錯誤的解決方案。