Symfony-给我的所有路线添加一个版本前缀

时间:2018-11-05 22:17:06

标签: symfony symfony4 fosrestbundle

嗨,我想对我的API进行版本控制。所以我想在我的词根前面加上一个版本。像那样?

# config/routes/annotations.yaml

controllers:
    resource: ../../src/Controller/
    type: annotation
    prefix:
        name: '{version}'

工作正常,我想添加一个检查版本的要求。

赞:

requirements:
     version:  v1|v2

我找不到任何有关此的文档。有什么好办法吗?

1 个答案:

答案 0 :(得分:2)

在FOSRestBundle中有一章完整的版本说明。

https://symfony.com/doc/master/bundles/FOSRestBundle/versioning.html

FOSBundle具有版本控制选项。

#app/config/config.yml
fos_rest:
    versioning:
        enabled: true
        resolvers:
            query: true # Query parameter: /users?version=v1
            custom_header: true # X-Accept-Version header
            media_type: # Accept header
                enabled: true
                regex: '/(v|version)=(?P<version>[0-9\.]+)/'