【发布时间】:2020-10-12 07:55:17
【问题描述】:
我正在尝试弄清楚 .Net core Web Api 2.0 中的版本控制,在看到很多“教程”后我有一些问题。
例如,我有一个带有很多控制器/模型/等的大型 api。
1.创建新版本的最佳方法是什么?
- 我看到人们只是将所有控制器放在不同的文件夹
/controllers/v1//controllers/v2/等中,而模型也在/models/v1/、models/v2等中。 - 我见过将所有控制器版本放在同一个文件中,并使用属性来指定哪个控制器属于哪个版本。 (对我来说,这看起来很混乱,因为您无法确定哪些有多个版本,哪些没有)。
- 我看到人们只是将几乎所有内容复制粘贴到新的版本控制文件夹中:
/v1/controllers, /v1/models、/v2/controllers, /v2/models。本质上只是将整个代码库克隆到一个新文件夹。 (我喜欢这个,因为如果可以删除旧版本,您只需删除整个文件夹即可。
2。你如何处理命名空间的变化?
例如,您有一个包含v1 的文件夹,其中包含所有控制器、模型等。然后您想将所有内容复制到v2 以获得新版本。所有这些文件中的所有命名空间仍然包含.v1。如何将它们全部重命名为新的命名空间?
【问题讨论】:
标签: c# .net .net-core asp.net-core-webapi