Symfony - префикс всех моих маршрутов с версией - PullRequest
0 голосов
/ 06 ноября 2018

Привет, я бы хотел версию своего API. Так что я хотел бы префикс моего рута с версией. как это?

# config/routes/annotations.yaml

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

Это работает, но я бы хотел добавить требование для проверки версии.

Как:

requirements:
     version:  v1|v2

Я не нахожу никаких документов, говорящих об этом. Есть ли хороший способ сделать это?

1 Ответ

0 голосов
/ 06 ноября 2018

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