.net core webapi教程-配置 Swagger 版本控制信息
本文讲解Swagger如果控制版本信息,实现效果如下图所示:
一、新建一个版本控制枚举类
namespace SignUp.Common.Enum { /// <summary> /// Api不同版本 /// </summary> public enum ApiVersions { V1, V2 } }
二、修改program.cs文件进行配置
builder.Services.AddSwaggerGen(option => { #region SwaggerGen版本控制 typeof(ApiVersions).GetEnumNames().ToList().ForEach(version => { option.SwaggerDoc(version, new Microsoft.OpenApi.Models.OpenApiInfo() { Title = $"极点招聘报名系统后台接口", Version = version, Description = $"接口描述{version}" }); }); #endregion //option.AddAuthenticationHeader(); #region 添加SwaggerGen注释 // 使用反射获取xml文件,并构造出文件的路径 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 启用xml注释,该方法第二个参数启用控制器的注释,默认为false。 option.IncludeXmlComments(xmlPath, true); //对action的名称进行排序,如果有多个,就可以看见效果了。 option.OrderActionsBy(o => o.RelativePath); #endregion });
app.UseSwaggerUI(c => { foreach (string version in typeof(ApiVersions).GetEnumNames()) { c.SwaggerEndpoint($"/swagger/{version}/swagger.json",$"极点招聘报名系统后台接口第【{version}】版本"); } });
三、修改ApiController所属版本
/// <summary> /// 前台用户登录相关接口 /// </summary> [Route("api/[controller]/[action]")] [ApiController] //api版本控制代码 [ApiExplorerSettings(IgnoreApi = false ,GroupName = nameof(ApiVersions.V1))] public class LoginController : ControllerBase { private readonly IRecruitDomainService recruitDomainService; public LoginController(IRecruitDomainService recruitDomainService) { this.recruitDomainService = recruitDomainService; } }
猜您可能还喜欢
- .net core webapi教程-Swagger请求参数设置默认值(1713)
- .net core webapi教程-设置返回Json格式与Model大小写一致(1186)
- .net core webapi教程-设置日期型字段返回Json格式(1144)
- .net core webapi教程-IActionFilter使用详解 (1098)
- .net core webapi教程-配置 Swagger 显示接口注释及描述信息(1072)
- .net core webapi教程-Swagger请求参数通过属性特性设置默认值(933)
- .net core webapi教程-Filter全局注册、控制器注册如何排除某些Action方法使其不生效(867)
- .net core webapi教程-IExceptionFilter、IAsyncExceptionFilter使用详解 (862)
- .net core webapi教程-使用log4net写文本日志(784)
- .net core webapi教程-Filter的多种注册方法(731)
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(12884)
- 2.Visual Studio 2017中安装visualSVN及使用详解(4975)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(3869)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(3087)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(2953)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2801)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2705)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2675)
- 9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2310)
- 10.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2275)