我是symfony的新手,我刚刚开始为学习目的建立一个试点项目。使用symfony 3并拥有一个应用程序我想用FOSRest构建一个基于JSON的API,而另一个单独的bundle应该为数据操作提供用户身份验证的Backend。如果我在
中添加以下内容,则会出现问题app/config_dev.yml
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
formats:
xml: true
json : true
templating_formats:
html: true
force_redirects:
html: true
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
routing_loader:
default_format: json
我得到No engine is able to work with the template ""
。
如何设置每个单独的捆绑包具有单独的响应?
答案 0 :(得分:0)
您无法在2个捆绑包中以不同方式配置第3方捆绑包
但是,您可以在format_listener
选项中处理路由模式:
fos_rest:
# ...
format_listener:
rules:
- { path: '^/json', priorities: ['json'], fallback_format: json, prefer_extension: false }
- { path: '^/html', priorities: ['html'], fallback_format: html, prefer_extension: false }
与此类似,与^/json
匹配的路线将呈现JSON
,/html
将默认呈现HTML
。
有关详情,请查看the listener configuration.