FOSRestBundle:如何删除{_format}参数?

时间:2013-11-22 15:40:40

标签: symfony fosrestbundle

我只需要支持单一的API格式,即JSON,我不喜欢在我的路由中使用{_format}。是否可以删除它?

1 个答案:

答案 0 :(得分:17)

在config.yml中,确保已配置此配置:

fos_rest:
    format_listener: true
    routing_loader:
        default_format: json
        include_format: false

希望有所帮助

编辑:

FOSRestBundle Docs中有一个示例显示如何使用ClassResourceInterface。最大的区别在于您根本不必手动定义路线。界面将根据您的类名和方法名生成您的路由。因此,为方法命名是非常重要的(您可以覆盖类名的使用方式,这在文档中显示)

例如,像这样:

use FOS\RestBundle\Routing\ClassResourceInterface {

class UserController implements ClassResourceInterface {

    public function cgetAction() {
        //return a list of all users
    }
}

会生成如下所示的路线:[GET] /users。这就是我使用捆绑包的方式,效果很好。我也不必在任何地方使用{_format}选项,因为我不必在任何地方手动定义路由。

注意 - 请参阅我的原始答案,我做了一个编辑,可能也有助于您如何使用该捆绑包。我没有尝试过以你的方式使用这个包,所以我不确定这是否有效,但是docs使它看起来好像可以工作。