我正在使用FOSRestBundle处理REST API,并且我希望能够使用相同的URL来返回HTML和JSON,具体取决于请求Accept标头;即如果您直接从浏览器调用URL(Accept : text/html
等),则从twig文件返回HTML,如果您正在发出AJAX请求(Accept : application/JSON
等),则使用FOSRestBundle返回JSON。
目前我可以通过在每个函数的顶部抛出一个小的if语句来检查请求接受标头,如果它要求HTML它返回twig文件,如果它要求JSON它命中服务,我可以使用它。
答案 0 :(得分:1)
您应该向您的请求发送“Accept”标头。阅读content negotiation (“Accept” HTTP header) based routing in symfony2.0和Format listener。
答案 1 :(得分:0)
在命令行模式下运行时,请求范围不存在,我不得不从每个构造函数中删除请求,问题就消失了。