如何在FOSRestBundle symfony中覆盖body_listener:array_normalizer以获取cetain url

时间:2016-03-03 11:09:21

标签: symfony fosrestbundle

我正在使用此配置

fos_rest:
    param_fetcher_listener: true
    body_listener:
        array_normalizer: fos_rest.normalizer.camel_keys

它运行良好,有助于将客户端请求参数转换为表单/对象属性。

但在某些情况下,我不使用表单,我想保持参数用下划线分隔。我不希望以上设置应用于某些网址。

如何基于每个路径覆盖(禁用)上面的设置(注释或url模式的一些规则最好)。

1 个答案:

答案 0 :(得分:1)

如果您可以根据某些网址禁用/启用所有fos / rest-bundle侦听器,则可以使用zones功能(从2.0版本开始)。

fos_rest:
    zone:
        - { path: ^/route/with/listeners/enabled/* }

文档:http://symfony.com/doc/master/bundles/FOSRestBundle/3-listener-support.html

如果你有更多时间,那么也许你可以帮助改进这个功能 - 这里有很好的RFC - https://github.com/FriendsOfSymfony/FOSRestBundle/pull/1152