Symfony 中的 API 版本控制

Fos*_*nce 1 api symfony api-versioning symfony4

我一直试图在 Symfony 中寻找版本控制的解决方案。在 Symfony 中进行 API 版本控制的最佳方法是什么。在 Laravel 这很简单,请看这里

您只需将 V1/V2 等不同文件夹中的所有内容分开,然后创建指向该文件夹(命名空间)的路由。但 Symfony 的工作方式不同,它使用注解来创建路由

ili*_*ten 5

Symfony 还提供了对代码进行版本控制的简单方法。所以,如果你想你的控制器在不同的文件夹一样分开v1v2等等,那么你可以在导入路由添加前缀为每个文件夹。

所以在 config/routes/annotations.yamlapp/config/routing.yml文件中你可以定义:

v1_controllers:
    resource: ../../src/Controller/v1  # add correct path
    type: annotation
    prefix: '/v1'

v2_controllers:
    resource: ../../src/Controller/v2  # add correct path
    type: annotation
    prefix: '/v2'
Run Code Online (Sandbox Code Playgroud)

因此,此后v1文件夹中的所有路由都将具有 prefix v1

请检查symfony 路由