ASP.NET Core WebApi使用Swagger生成api说明文档
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Core WebApi使用Swagger生成api说明文档,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2278字,纯文字阅读大概需要4分钟。
内容图文
![ASP.NET Core WebApi使用Swagger生成api说明文档](/upload/InfoBanner/zyjiaocheng/608/4a3985e6d3c847769ac7c9d99ee73be2.jpg)
什么是Swagger?为啥要用Swagger?
Swagger可以从不同的代码中,根据注释生成API信息,Swagger拥有强大的社区,并且对于各种语言都支持良好,有很多的工具可以通过swagger生成的文件生成API文档
简单易懂、方便快捷。
书写api说明文档对于程序员来说是件痛苦的事所以能偷懒为啥不偷。
直接上流程吧
1、NuGet先下载这两个包
2.Startup.cs直接上代码
private readonly string versionApiName = "V1";
services.AddSwaggerGen(options => { options.SwaggerDoc(versionApiName, new OpenApiInfo { Version = versionApiName, Title = "客户信息后端API" }); //options.EnableAnnotations(); // 开启加权小锁 options.OperationFilter<AddResponseHeadersFilter>(); options.OperationFilter<AppendAuthorizeToSummaryOperationFilter>(); // 在header中添加token,传递到后台 options.OperationFilter<SecurityRequirementsOperationFilter>(); options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "JWT授权(数据将在请求头中进行传输) 直接在下框中输入Bearer {token}(注意两者之间是一个空格)", Name = "Authorization", // jwt默认的参数名称 In = ParameterLocation.Header, // jwt默认存放Authorization信息的位置(请求头中) Type = SecuritySchemeType.ApiKey }); var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath, true); });
app.UseSwagger(); app.UseSwaggerUI(v => { v.SwaggerEndpoint($"/swagger/{versionApiName}/swagger.json", $"{versionApiName}"); v.DocExpansion(DocExpansion.None); });
哪里报红哪里引用就可以了
3.把生成XML文档勾上
4.修改一下启动方式
5.F5运行 Swagger就布置好了 告别该死的文档
补:后面时间项目发现TOKEN没法正常传过来 又加了几句代码
`
options.AddSecurityRequirement(new OpenApiSecurityRequirement {
{ new OpenApiSecurityScheme
{
Reference = new OpenApiReference()
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
}, Array.Empty<string>() }
});`
内容总结
以上是互联网集市为您收集整理的ASP.NET Core WebApi使用Swagger生成api说明文档全部内容,希望文章能够帮你解决ASP.NET Core WebApi使用Swagger生成api说明文档所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。