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

Rom*_*aza 10 symfony fosrestbundle

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

Seh*_*ael 17

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

fos_rest:
    format_listener: true
    routing_loader:
        default_format: json
        include_format: false
Run Code Online (Sandbox Code Playgroud)

希望有所帮助

编辑:

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

例如,像这样:

use FOS\RestBundle\Routing\ClassResourceInterface {

class UserController implements ClassResourceInterface {

    public function cgetAction() {
        //return a list of all users
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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