毕业论文
您现在的位置: 版本控制 >> 版本控制资源 >> 正文 >> 正文

一文看懂ASPNET之Api版本控制

来源:版本控制 时间:2022/7/11
白癜风皮肤病专科医院 http://m.39.net/pf/a_5291113.html
1.优点有助于保护原有系统,不受影响,并及时修改问题可以实现用户的私人定制(比如是付费接口)快速迭代2.API版本控制在URL中追加版本或者作为查询字符串参数通过自动以标头和通过接受标头2.1安装组件

ASP.NETAPIversioning为您提供了一种功能强大但易于使用的方法,用于将API版本控制语义添加到使用ASP.NET构建的新的和现有的REST服务中。API版本控制扩展定义了简单的元数据属性和约定,用于描述您的服务实现了哪些API版本。

PackageReferenceInclude="Microsoft.AspNetCore.Mvc.Versioning"Version="4.2.0"/PackageReferenceInclude="Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer"Version="4.2.0"/2.1.1常用配置

[ApiVersion("1.1")]//设置版本号[ApiVersionNeutral]//退出版本控制[MapToApiVersion("1.1")]//设置独立版本[ApiVersion("1.0",Deprecated=true)]//api版本已经被弃用HttpContext.GetRequestedApiVersion().ToString();//访问版本信息2.2QueryString来实现版本控制2.2.1ConfigureServices中配置

//Versioning用来实现API的版本控制services.AddApiVersioning(options={options.DefaultApiVersion=newApiVersion(1,1);//默认版本号options.AssumeDefaultVersionWhenUnspecified=true;//此选项将用于不提供版本的请求,默认情况下假定API的版本为1.0options.ReportApiVersions=true;//当设置为true时候,api将返回响应标头中支持的版本信息//下面这句默认不写也可以//options.ApiVersionReader=newQueryStringApiVersionReader(parameterNames:"api-version");//该名称用于查询时候使用});2.2.2控制器设置版本

namespaceNetCore_SwaggerVersion.Controllers.v1{///summary///版本1.1////summary[Route("api/[controller]")][ApiController][ApiVersion("1.1")]//可以设置多个[ApiVersion("1.2")]publicclassTestController:ControllerBasenamespaceNetCore_SwaggerVersion.Controllers.v2{///summary///版本2.0////summary[Route("api/[controller]")][ApiController][ApiVersion("2.6")]publicclassTestController:ControllerBase

不同命名空间下可以存在相同的控制器

2.2.3特定方法设置版本

[MapToApiVersion("1.1")][HttpGet]publicIEnumerablestringGet()2.2.4设置不受版本控制

[ApiVersionNeutral]//退出版本控制[ApiController][Route("api/[controller]/[action]")]publicclassWeatherForecastController:ControllerBase2.3.5访问地址

转载请注明:http://www.0431gb208.com/sjslczl/887.html

  • 上一篇文章:
  • 下一篇文章: