0

我正在使用 FOSRestBundle 开发 REST API,我希望能够根据请求 Accept 标头使用相同的 URL 来返回 HTML 和 JSON;即,如果您直接从浏览器调用 URL(Accept : text/html等) HTML 从树枝文件返回,如果您正在发出 AJAX 请求(Accept : application/JSON等),则使用 FOSRestBundle 返回 JSON。

目前,我可以通过在每个函数的顶部抛出一个小的 if 语句来检查请求接受头,如果它要求 HTML 它返回树枝文件,如果它要求 JSON 它命中服务。

4

2 回答 2

1

您应该在请求中发送“接受”标头。在 symfony2.0Format listener中读取基于内容协商(“Accept”HTTP 标头)的路由。

于 2012-06-12T09:24:45.667 回答
0

在命令行模式下运行时请求范围不存在,我不得不从每个构造函数中删除请求,问题就消失了。

于 2012-07-16T20:50:45.880 回答