FOS\RestBundle, "Unrecognized options" on Symfony2



我遇到Symfony2创建Rest API并使用FOSRestBundle 的问题

当我尝试生成数据库或实体时…无论我尝试生成什么,都会发生错误。

root@symfonyRest:/var/www/Symfony# php5 app/console doctrine:database:create

  [SymfonyComponentConfigDefinitionExceptionInvalidConfigurationException]  
  Unrecognized options "prefer_extension" under "fos_rest.format_listener"  

问题似乎出在config.yml

配置yml

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
framework:
    #esi:             ~
    #translator:      { fallback: %locale% }
    secret:          %secret%
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: ~
    form:            ~
    csrf_protection: ~
    validation:      { enable_annotations: true }
    templating:
        engines: ['twig']
[…]
sensio_framework_extra:
    view:    { annotations: false }
    router:  { annotations: true }
fos_rest:
    format_listener:
        prefer_extension:       false
    view:
        view_response_listener: true

编辑:

带有format_listener.rules 的新配置yml

fos_rest:
    view:
        view_response_listener:  true
    format_listener:
        rules:
            prefer_extension:     false

但我也有一个错误

[SymfonyComponentConfigDefinitionExceptionInvalidTypeException]         
  Invalid type for path "fos_rest.format_listener.rules.prefer_extension". Ex  
  pected array, but got boolean

有人能解决我的问题吗?谢谢

查看捆绑包的配置参考:

您没有在format_listener.rules下添加prefer_extension,而是作为format_listener的直接子级添加。

正确的配置是:

fos_rest:
    format_listener:
        rules:
            - prefer_extension: false

我发现了错误!

正确的配置是:

fos_rest:
    format_listener:
        rules:
            - prefer_extension: false

不要忘记"-"

编辑:打字纠正

最新更新