【发布时间】:2016-12-28 14:37:52
【问题描述】:
对于我们的 Web api 项目,我们使用以下 url 版本控制系统:
https://{fqdn}/{apiVersion}/{apiResourceName}/{resourcePath}?{parameters}
例如,我们可以有如下内容:
https://myapi.mysite.com/v1/customer/2
现在考虑到上述情况,假设您想向客户发布两个版本(live、test)。一种是实时版本(使用实时数据),另一种是测试版本(使用测试数据进行客户开发测试)。
对于现场直播,我可以轻松使用我提到的那个:https://myapi.mysite.com/v1/customer/2。
上述api的测试版怎么命名?什么是 api url 版本 v1 的测试版本?可以指定测试api url吗?
在使用 url 版本控制时,API {fqdn} 的完全限定域名的最佳做法是什么?
【问题讨论】:
-
test.myapi.mysite.com 听起来是个不错的方法,但是就使用“请求标头来区分实时和测试”而言,它违背了使用“url 版本控制视觉优势”的全部目的与标题版本控制相比的目视检查。客户需要像 url 这样简单的东西来放入他的 live/test 配置文件,而无需操作标题。
-
您是否考虑过使用功能切换。您可以为大多数用户提供实时数据,然后切换到开发人员的测试数据。您还可以让开发人员无需更改网址即可自行打开和关闭测试数据。
标签: rest api asp.net-web-api restful-architecture restful-url