每捆FOSRest。如何配置?

时间:2016-03-20 19:00:30

标签: json output config symfony fosrestbundle

我是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 ""

如何设置每个单独的捆绑包具有单独的响应?

1 个答案:

答案 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.