gpt4 book ai didi

rest - Web API url 的测试版本

转载 作者:行者123 更新时间:2023-12-04 12:39:43 24 4
gpt4 key购买 nike

对于我们的 Web api 项目,我们使用以下 url 版本控制系统:

https://{fqdn}/{apiVersion}/{apiResourceName}/{resourcePath}?{parameters}

例如,我们可以有如下内容:

https://myapi.mysite.com/v1/customer/2

现在考虑到上述情况,假设您要向客户发布两个版本(实时、测试)。一个是实时版本(使用实时数据),另一个是测试(使用测试数据进行客户开发测试)。

对于现场直播,我可以轻松使用我提到的那个:https://myapi.mysite.com/v1/customer/2 .

上面api的测试版本怎么命名? api url 版本 v1 的测试版本是什么?可以指定测试api url吗?

使用 url 版本控制时,API {fqdn} 的完全限定域名的最佳做法是什么?

最佳答案

确实有几种方法可以做到这一点。

例如,一种方法是简单地使用属性路由来为其提供不同的路径。创建一个单独的方法,给它一个路径 /vtest/customer/2例如,如果用户访问此 /vtest/版本(或 v2 或 3 或其他)然后返回测试数据/新版本。见 example in this question

另一种方法是将您的“测试数据”API 托管在您服务器的不同应用程序中,并让您的 web.config 指向您的数据库/源数据的测试版本。使用 IIS,您将配置两个不同的应用程序(一个用于测试,另一个用于实时)并且基本 URL 会有所不同,例如:https://myapi.mysite.com/appname1/v1/customer/2对比 https://myapi.mysite.com/appname2/v1/customer/2和您的 应用名称 可能类似于 live对比 test .看看this simple example

您也可以将它们完全托管在不同的服务器中,这会导致您的 {fqdn} 在测试版本和实时版本之间发生变化(例如 server.com/v1/customer/2testserver.com/v1/customer/2 )——这就是我在目前的工作中所做的,我发现它非常有效,因为它隔离了实时/测试数据(和 API 版本),避免了它们之间的混淆。

我还找到了 this blog post详细说明如何使用 namespace 执行此操作

换句话说,不只有一种最佳/正确的方式来做你想做的事,这一切都归结为你(或你的公司/老板/团队)希望如何在你的 API 中构建和控制测试与实时数据。看看这些选项,看看哪一个最适合你的情况,希望我能帮上忙。

关于rest - Web API url 的测试版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com