Fos*_*nce 1 api symfony api-versioning symfony4
我一直试图在 Symfony 中寻找版本控制的解决方案。在 Symfony 中进行 API 版本控制的最佳方法是什么。在 Laravel 这很简单,请看这里
您只需将 V1/V2 等不同文件夹中的所有内容分开,然后创建指向该文件夹(命名空间)的路由。但 Symfony 的工作方式不同,它使用注解来创建路由
Symfony 还提供了对代码进行版本控制的简单方法。所以,如果你想你的控制器在不同的文件夹一样分开v1,v2等等,那么你可以在导入路由添加前缀为每个文件夹。
所以在 config/routes/annotations.yaml或app/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 路由。