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

时间:2013-11-19 12:18:29

标签: 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"  

问题似乎出现在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

编辑:

使用format_listener.rules

的新 config.yml
fos_rest:
    view:
        view_response_listener:  true
    format_listener:
        rules:
            prefer_extension:     false

但我也有错误

[Symfony\Component\Config\Definition\Exception\InvalidTypeException]         
  Invalid type for path "fos_rest.format_listener.rules.prefer_extension". Ex  
  pected array, but got boolean

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

2 个答案:

答案 0 :(得分:9)

查看捆绑包的configuration reference

您尚未在prefer_extension下添加format_listener.rules,而是format_listener的直接子女。

正确的配置是:

fos_rest:
    format_listener:
        rules:
            - prefer_extension: false

答案 1 :(得分:5)

我发现了错误!

正确的配置:

fos_rest:
    format_listener:
        rules:
            - prefer_extension: false

不要忘记“-

编辑:错误修正