我一直在尝试在 Symfony 中找到版本控制的解决方案。在 Symfony 中进行 API 版本控制的最佳方法是什么。在 Laravel 中,这非常简单,请参见此处
您只需将不同文件夹(如 V1/V2...)中的所有内容分开,然后创建指向该文件夹(命名空间)的路由。但是 Symfony 的工作方式不同,它使用注解来创建路由
我一直在尝试在 Symfony 中找到版本控制的解决方案。在 Symfony 中进行 API 版本控制的最佳方法是什么。在 Laravel 中,这非常简单,请参见此处
您只需将不同文件夹(如 V1/V2...)中的所有内容分开,然后创建指向该文件夹(命名空间)的路由。但是 Symfony 的工作方式不同,它使用注解来创建路由
Symfony 还提供了简单的方法来对代码进行版本控制。因此,如果您想将控制器分隔在不同的文件夹中v1
,例如v2
等,那么您可以在导入路由时为每个文件夹添加前缀。
所以在 config/routes/annotations.yaml
orapp/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'
所以在这之后v1
文件夹中的所有路由都会有前缀v1
。
请检查symfony 路由。