我正在使用laravel 4.2,我最近发现我没有在所有我的JSON API请求中获得'content-type':'application / json'。
因此...
这应该是开箱即用还是我应该自己添加一个过滤器?
我的选择是将我的代码中的所有响应更改为响应:: json()
或
最简单的解决方案是添加一个后置过滤器,用于检查响应是否为json并更改标题
json_decode($response->getContent());
if ( json_last_error() == JSON_ERROR_NONE ) {
$response->headers->set('Content-Type','application/json');
}
这似乎为每个请求增加了一些额外的开销。还有更好的方法吗?
答案 0 :(得分:1)
Laravel已经拥有了你所需要的东西。
Response::json($your_data)
在docs
中详细了解相关信息 Laravel会检查您的数据是JsonableInterface
还是ArrayObject
还是仅array
,并将其转换为json并设置标题。