控制器必须返回给定的响应数组

时间:2015-07-22 05:07:54

标签: symfony configuration fosrestbundle

我和this有同样的问题。第二个答案解决了我的问题。解决方案是

sensio_framework_extra:
    view:   {   annotations: false }
    router: {   annotations: true }

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

但是我明白这是如何解决问题的,以及为什么这个配置解决了我的问题。

fos_rest:
    routing_loader:
        default_format: json
    view:
        view_response_listener: true    

任何人都可以解释我的配置。

1 个答案:

答案 0 :(得分:0)

the documentation中所述,选项 view_response_listener 允许返回View而不是Response。然后,负责将视图转换为响应(以及其他内容)的服务会负责您的视图并构建响应。

在最初的问题中,缺少的配置不允许FOSRestBundle处理返回的数据并处理视图,这是错误的原因。

See more here