我正在使用Symfony2框架构建REST API,
我使用“application / json”,
将响应发送给我的客户如何检查HTTP请求标头中是否支持applcation / json?
谢谢。
答案 0 :(得分:5)
检查getAcceptableContentTypes
对象上的request方法。
$acceptsJsonContent = in_array('application/json', $request->getAcceptableContentTypes());
答案 1 :(得分:0)
当您的客户以精确格式请求回复时,应指定Accept:
标头,请参阅HTTP/1.1 spec。
答案 2 :(得分:0)
json
请求的标头应该是这样的。
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
回到控制器中,您可以过滤请求以查看它是否通过xml / http内容。 (如Ajax)
if($request->isXmlHttpRequest())
{
$result = json_encode($json);
return new Response($result , 200 , array( 'Content-Type' => 'application/json' ));
}
希望这有帮助。
干杯!