我得到例外:
无法找到模板“”
其他类似问题没有帮助;奇怪的是它工作正常然后突然开始给我这个例外。
作曲家:
"friendsofsymfony/rest-bundle": "0.13.*@dev", "jms/serializer-bundle": "0.12.*@dev",
我正在关注Automatic route generation: single RESTful controller (for simple resources)
配置:
fos_rest:
format_listener: true
routing_loader:
default_format: json
view:
view_response_listener: 'force'
serializer:
serialize_null: true
sensio_framework_extra:
view: { annotations: false }
router: { annotations: true }
路由:
sectors:
type: rest
prefix: /{v}
resource: JJ\MainBundle\Controller\SectorsController
控制器:
/**
* @RouteResource("Sector")
*/
class SectorsController extends Controller
...
public function cgetAction()
{
return $this->getSectorIndustryRepo()->findAll();
}
答案 0 :(得分:11)
我设法通过将侦听器显式设置为false来解决此问题:
fos_rest:
format_listener: false
修改强>
这也有效:
fos_rest:
format_listener:
prefer_extension: false
default_priorities:
- json
答案 1 :(得分:5)
对于FOSRestBundle版本2.0,配置应为
fos_rest:
format_listener:
rules:
prefer_extension: false
fallback_format: json
答案 2 :(得分:3)
使用@View
注释您的控制器操作以解决此问题。
use FOS\RestBundle\View\View;
查看文档chapter View Response listener。
如果您不想为每个操作添加注释 - 可以使用my pull request here为完整的类设置@View注释。
将此添加到您的composer.json以使用PR。
"require": {
"friendsofsymfony/rest-bundle": "dev-dev-view-addition as 0.12.0",
// ...
"repositories": [
{
"type": "vcs",
"url": "https://github.com/nifr/FOSRestBundle"
},
答案 3 :(得分:3)
(供参考)如果One正在使用rest客户端进行测试,或者手动确保在请求中设置标头: 接受:应用/ JSON
因为fosRestBundle尝试从请求中的标头确定正确的响应类型。