Symfony中的API版本控制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony中的API版本控制相关的知识,希望对你有一定的参考价值。

我一直在尝试在Symfony中找到版本控制的解决方案。在Symfony中进行API版本控制的最佳方法是什么。在Laravel这很简单,see here

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

答案

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'

所以在此之后v1文件夹中的所有路线都将有前缀v1

请检查symfony routing

以上是关于Symfony中的API版本控制的主要内容,如果未能解决你的问题,请参考以下文章

API 平台 Symfony 5 JWT 访问控制

Symfony2 将哈希片段参数附加到分页 URL

Symfony 4 JWT:访问 api 时我无法从控制器获得响应

从 Symfony 中的控制器返回 JSON 数组

Symfony 4 AbstractController问题与参数计数

从 Symfony2 中的控制器访问集合表单字段