Laravel,控制器,API,转换以使响应适合选择输入

时间:2016-06-11 17:30:59

标签: laravel api-design

我有一个名为:Federation的模型。

在我的视图中,我从API调用中通过AJAX加载了一个Select Combo。

我为API和视图调度程序共享相同的控制器 - > FederationController,我在前端和后端之间没有一个独立的架构(如Full Angular或Full VueJS架构),它是混合的。

所以,基本上,我的控制器说:

if (Request::ajax()){ // This is an API call from JS
   return json;
else
   return view;

它运作良好(当我将包含Android应用程序时,我可能会遇到问题...)

事情在某些情况下,我不想要完整的json模型,但只是信息tu填充Select输入,一般来说,我做

federations->lists('name','id'), or with pluck, as lists has been deprecated.

事情是我真的不知道如何组织它,因为我的API基于返回完整模型,这没关系,但这种转换非常频繁。

所以,我应该创建一种transformToSelect($ model)方法或使用像Fractal之类的优秀库来转换它,但我真的不知道如何在不丢失端点的情况下调用它。

在我的routes.php中,我有一组路线,如:

    Route::group(['prefix' => 'api/v1'], function () { 
        Route::get("federations", 'FederationController@index');
        // All my APIs 
    });

我很高兴,因为它坚持使用REST。 我可以通过以下方式获得解决方案:

Route::get("federations", 'FederationController@getForCombo');

但很快,我就会一团糟,所以,我希望我的问题有一个简单优雅的解决方案......

知道怎么解决吗?

0 个答案:

没有答案