Symfony2上的FOS\RestBundle,"无法识别的选项"

Kev*_*ado 5 symfony fosrestbundle

我有一个Symfony2创建Rest API和使用的问题FOS\RestBundle

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

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



  [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]  
  Unrecognized options "prefer_extension" under "fos_rest.format_listener"  
Run Code Online (Sandbox Code Playgroud)

问题似乎在于 config.yml

config.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
Run Code Online (Sandbox Code Playgroud)

编辑:

config.ymlformat_listener.rules

fos_rest:
    view:
        view_response_listener:  true
    format_listener:
        rules:
            prefer_extension:     false
Run Code Online (Sandbox Code Playgroud)

但我也有错误

[Symfony\Component\Config\Definition\Exception\InvalidTypeException]         
  Invalid type for path "fos_rest.format_listener.rules.prefer_extension". Ex  
  pected array, but got boolean
Run Code Online (Sandbox Code Playgroud)

有人解决了我的问题吗?谢谢 !

Nic*_*ich 10

看看bundle的配置参考:

你没有添加prefer_extensionunder format_listener.rules但是作为直接的孩子format_listener.

正确的配置是:

fos_rest:
    format_listener:
        rules:
            - prefer_extension: false
Run Code Online (Sandbox Code Playgroud)


Kev*_*ado 5

我发现了错误!

它的正确配置是:

fos_rest:
    format_listener:
        rules:
            - prefer_extension: false
Run Code Online (Sandbox Code Playgroud)

别忘了" -"

编辑:错字纠正