.Net Core Api 使用版本控制详解
程序员文章站
2022-09-05 08:10:31
api的版本控制是api开发中经常遇到的问题, 在大部分中大型项目都需要使用到api的版本控制
在本篇博客中,我们将说明一下如何在.net core api项目中使用ap...
api的版本控制是api开发中经常遇到的问题, 在大部分中大型项目都需要使用到api的版本控制
在本篇博客中,我们将说明一下如何在.net core api项目中使用api版本控制。
本篇博客中测试项目的开发环境:
- visual studio 2017
- .net core 2.1 sdk
1,安装microsoft.aspnetcore.mvc.versioning
net core mvc中,微软官方提供了一个可用的api版本控制库microsoft.aspnetcore.mvc.versioning。
2,修改startup类
这里我们需要在startup类的configureservice方法中添加以下代码。
// this method gets called by the runtime. use this method to add services to the container. public void configureservices(iservicecollection services) { services.addmvc().setcompatibilityversion(compatibilityversion.version_2_1); services.addapiversioning(o => { o.reportapiversions = true; o.assumedefaultversionwhenunspecified = true; o.defaultapiversion = new apiversion(1, 0); //o.apiversionreader = new headerapiversionreader("x-api-version"); }); }
3,代码
//版本1控制器 [apiversion("1.0", deprecated = true)] [route("api/values")] [apicontroller] public class valuesv1controller : controllerbase { [httpget] public ienumerable<string> get() { return new string[] { "这是版本1.0返回的——数据1", "这是版本1.0返回的——数据2" }; } }
//版本2控制器 [apiversion("2.0")] [route("api/values")] [apicontroller] public class valuesv2controller : controllerbase { [httpget] public ienumerable<string> get() { return new string[] { "这是版本2.0返回的——数据1", "这是版本2.0返回的——数据2" }; } }
4,访问
https://localhost:44319/api/values
https://localhost:44319/api/values?api-version=1.0
https://localhost:44319/api/values?api-version=2.0
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 不管是什么数学题,先写个“解”字压压惊
下一篇: PHP设计模式之模板模式定义与用法详解
推荐阅读
-
在.NET Core中使用Jwt对API进行认证
-
详解在ASP.NET Core中使用Angular2以及与Angular2的Token base身份认证
-
详解如何在ASP.NET Core中使用Redis
-
.Net Core API使用ODP.NET操作Oracle数据库
-
在Asp.Net或.Net Core中配置使用MarkDown富文本编辑器有开源模板代码(代码是.net core3.0版本)
-
Asp.Net Core控制器如何接收原始请求正文内容详解
-
使用ASP.NET Core 3.x 构建 RESTful API - 5.1 输入验证
-
详解Asp.net Core 使用Redis存储Session
-
.net core控制台程序中使用原生依赖注入
-
C#控制台程序使用Log4net日志组件详解