【发布时间】:2015-11-29 17:25:02
【问题描述】:
我有一个 Laravel 应用程序,其中包含 Eloquent 实体及其各自的 RESTful resource controllers,如下所示:
型号
class Entity extends Eloquent {
...
}
控制器
class EntityContoller {
public function index() {
Entity $entities = Entity::all();
return view('entity.index', compact($entities));
}
... // And many more routes like that
}
现在我正在构建一个 android 应用程序,而不是返回视图,我需要 JSON 格式的数据。
在我当前的解决方案中,对于我从 Android 应用程序发出的每个请求,我都会添加一个 get 查询参数 contentType=JSON。我在控制器中检测到这一点,并相应地发送数据,如下所示。但这似乎很乏味,我必须在任何地方都写相同的条件。
class EntityContoller {
public function index() {
Entity $entities = Entity::all();
if(Request::get('contentType', 'JSON')) return $entities;
return view('entity.index', compact($entities));
}
... // And many more routes like that
}
我可以做到这一点的最佳方法是什么,而不必在每个控制器操作中都写这个条件?
【问题讨论】:
标签: php rest laravel laravel-5