Symfony - 为我所有的路线加上一个版本前缀

Symfony - Prefix all my routes with a version

您好,我想对我的 API 进行版本控制。所以我想在我的 roote 前加上一个版本。像那样?

# config/routes/annotations.yaml

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

有点用了我想添加一个检查版本的要求。

喜欢:

requirements:
     version:  v1|v2

我没有找到任何文档讨论这个问题。有什么好办法吗?

在 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\.]+)/'