【发布时间】:2018-06-05 13:01:05
【问题描述】:
我一直在尝试在 Symfony 中寻找版本控制的解决方案。 在 Symfony 中进行 API 版本控制的最佳方法是什么。在 Laravel 中这很简单,see here
您只需将不同文件夹(如 V1/V2...)中的所有内容分开,然后创建指向该文件夹(命名空间)的路由。但是 Symfony 的工作方式不同,它使用注解来创建路由
【问题讨论】:
标签: api symfony symfony4 api-versioning
我一直在尝试在 Symfony 中寻找版本控制的解决方案。 在 Symfony 中进行 API 版本控制的最佳方法是什么。在 Laravel 中这很简单,see here
您只需将不同文件夹(如 V1/V2...)中的所有内容分开,然后创建指向该文件夹(命名空间)的路由。但是 Symfony 的工作方式不同,它使用注解来创建路由
【问题讨论】:
标签: api symfony symfony4 api-versioning
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'
因此在此之后v1 文件夹中的所有路由都将具有前缀v1。
请查看symfony routing。
【讨论】: