问题标签 [aspnet-api-versioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-core - .NET Core 中的 API 版本控制 - AssumeDefaultVersionWhenUnspecified
我正在考虑将版本控制添加到我们拥有的现有 API 中。我们在 URL 中嵌入版本。
版本控制的要求是添加新版本应该很容易,但不是所有内容都会改变,我们不想在获得新版本时遍历所有控制器并添加新版本属性。有没有办法告诉 Microsoft.AspNetCore.Mvc.Versioning 无论版本如何,特定方法都应该可用?
我尝试使用 version:apiVersion 和仅使用基本路线来装饰我的方法。
我的配置是这样的(版本号 3 仅用于测试目的):
使用此配置调用端点时,我得到“与请求 URI 'http://{{host}}/api/customers/{customer}/estates/{estate}/meters/{meter}-{不支持安装}/consumption/detail'
一旦我添加了 [ApiVersion("3.0")] 属性,一切正常。但我的想法是,如果我目前在版本 2 上运行,但对 API 其他部分的更改需要新版本和 API 的默认版本,我不想去这个控制器并“碰撞”版本. 除非我指定具体内容,否则它应该继续响应。
如果我将 AssumeDefaultVersionWhenUnspecified 更改为 false,我会收到“需要 API 版本,但未指定”。但我预计它只会抓住没有版本的路线?
我已经阅读了这里的限制:https ://github.com/Microsoft/aspnet-api-versioning/wiki/Known-Limitations#url-path-segment-routing-with-a-default-api-version 但它没有似乎不起作用。
c# - ASP.NET API 版本范围
我们的产品是一个client/server
应用程序,它在现场有多个版本的客户端,但只有一个运行最新版本的服务器来服务所有API
呼叫。我们有/将有数百个API
端点,我正在尝试如何最好地处理版本控制。我想做的是能够避免应用attributes
到每一个方法的繁重任务,或者每次我们进行微小的更改时复制整个控制器。
我可能会误解大多数关于此的文件/实践,但似乎每次你碰到你的时候API
你都必须经历并完成所有这些工作,这似乎充其量是低效的。
相反,我想做的是使用编写时attribute
的版本对每个端点应用一个,然后客户端找到等于或小于客户端版本的最接近的版本。
例如,如果端点被写入,[ApiVersion("1.0")]
那么这就是它获得的属性。如果我们必须修改它,我会复制方法,重命名它,应用 aRoutePrefix
attribute
以便正确命中并应用attribute
我们整体版本的新方法API
(在这个例子中,我放了1.5
)。
这是一个简单的例子:
当我使用 url 版本控制时,这没有问题:
/api/v1.0/GetHeartBeat
或者/api/v1.5/GetHeartBeat
但/api/v1.3/GetHeartBeat
没有,因为那个版本不存在..
我想要发生的是,如果我有一个正在运行的客户端1.3
,那么它将找到等于或小于最新版本的最接近的版本。所以/api/v1.3/GetHeartBeat
会收到,因为1.3
不存在,然后它会查看最接近/早期的版本,在这种情况下是1.0
.
我可以写一堆路由逻辑来完成这个,但我觉得必须有一个开箱即用的解决方案,因为我不能成为第一个尝试这个的人。有没有一个nuget
包可以做到这一点?
asp.net-web-api - 版本 dotnet core api 业务逻辑的优雅方式是什么?
关于版本控制 dotnet core web api 业务逻辑层的任何建议?
我可以实现控制器的版本控制,它可以正常工作,如下所示。
下面是我的控制器逻辑。
以下是我的启动版本控制注册。
正如我的想法,我可以为新层的业务层创建单独的文件夹。但是,如果有任何其他优雅的方式来实现业务逻辑版本控制,我不想弄乱我的可重用代码。
asp.net-core - 是否可以将 AspNet Api 版本控制与 Net 6 Minimal API 一起使用?
我正在使用 Net 6 Minimal API:
是否可以将 AspNet Api 版本控制与 Net 6 Minimal API 一起使用?如何?
odata - 有谁有 AspNetCore .Net 6 + Swashbuckle + OData Web API 的工作示例
有没有人有一个 AspNetCore Web API 的工作示例:
- .Net 6
- OData(包括 $batch)
- 花花公子
- 版本控制(api/v1、api/v2 等)
c# - 带有 Swagger 的核心 API - 按版本和组/属性/标签定义
我正在尝试组织我的招摇文档,但遇到了障碍。版本控制非常重要,但我还想按属性/组名称或其他代码进行组织,以便最终得到由两者组织的多个 API 定义。
版本控制代码很简单:
理想情况下,它将类似于以下内容:
这将由控制器上的某些东西驱动,例如:
任何人都可以提供的任何帮助将不胜感激!
asp.net - 使用 ODATA 和 Swagger 升级 dotnet 5 Web API 版本控制
我创建了一个工作示例项目https://github.com/surenrao/Dotnet5WebApiODataVersioning,其中包含我所需的所有用例。哪个是
- 大摇大摆的支持
- 使用命名空间约定的 Web ApiVersioning
- 不支持 EDM 的 ODATA
我的目标是升级到 dotnet 6 并使用 ASP.NET Core OData 8.x。当我尝试升级时,它对 OData 版本进行了重大更改,现在需要 EDM?我相信这是由于https://github.com/dotnet/aspnet-api-versioning还不支持 OData 8.x。
有没有人遇到过类似的问题。任何帮助或方向表示赞赏