.net core启用Swagger
官方文档推荐两种框架:Swashbuckle 和 NSwag,这里使用 Swashbuckle 来生成接口文档。
目录
- 安装包
- 添加服务
- 配置中间件
- 添加 UI
- 设置接口详细信息
1 安装包
需要安装的包:
Swashbuckle.AspNetCore.Swagger,Swashbuckle.AspNetCore.SwaggerGen,Swashbuckle.AspNetCore.SwaggerUI
或者安装一个完整的包
Swashbuckle.AspNetCore
这里我们为了省事,所以使用完整的包。点击工具->NuGet 包管理器->程序包管理器控制台。在控制台中输入:
Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc4
2 添加服务
在Startup.ConfigureServices中添加 Swagger 服务:
services.AddSwaggerGen(x =>
{
x.SwaggerDoc("v1", //必须和UI的路径相同
//相关的文字信息
new OpenApiInfo() {
Title = "MyApi",
Version = "v1",
Description ="第一个版本"
});
});
3 配置中间件
添加app.UseSwagger();中间件,至此可以打开浏览器访问http://localhost:<port>/swagger/v1/swagger.json页面上显示出生成的 json 文档。如图:

4 添加 UI
我们需要在中间件中添加 UI 的中间件:
app.UseSwaggerUI(c =>{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "版本名称");
//将接口文档设置为首页
//如果不设置为首页访问地址为:/swagger/index.html
c.RoutePrefix = string.Empty;
});
启动程序可以看见:
5 设置接口详细信息
虽然这样可以一目了然的看到有哪些接口,但是在实际使用中还需要添加一些接口注释。Swagger 读取 xml 文件进行展示,所以先在项目文件中添加
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>
修改注入服务:
services.AddSwaggerGen(x =>{
x.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo() { Title = "MyApi", Version = "v1", Description ="第一个版本"});
//读取xml文件的名字:项目名.xml
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
//写成一个绝对路径
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
//将这个文件添加到配置
x.IncludeXmlComments(xmlPath);
});
接口注释与对应的效果:


404 状态码在下面就不截图了
总结
按照官方文档走了一遍,不是很难倒是也需要把各个地方对应起来,如果错误的地方,请各位留言。
.net core启用Swagger的更多相关文章
- asp.net core 使用 swagger 生成接口文档
参考地址:http://www.cnblogs.com/daxnet/p/6181366.html http://www.jianshu.com/p/fa5a9b76f3ed 微软参考文档:https ...
- .NET Core和Swagger 生成 Api 文档
测试/生产环境的BUG 这里更新一下在本地调试正常,在INT/PROD上抛错,错误信息为: */**/*.xml(Swagger json file) 文件找不到,在startup 里builder ...
- .NET Core和Swagger 生成 Api 文档转
阅读目录 1.引用 2.打开startup.cs文件 3.设置XML注释 4.运行结果 5.主要问题的解决办法 6.可以自定义UI 前言 最近写了好多Web api, 老大说太乱了,要整理一下,使用S ...
- .net core 使用 swagger 生成接口文档
微软参考文档:https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs= ...
- Asp.net Core的Swagger接口根据模块、版本分组
近期一直在学习Asp.net Core,微软的文档太难看,都是英文翻译过来的,很不友好,感谢这个博客,从壹开始前后端分离[ .NET Core2.0 +Vue2.0 ],让我入门了,刚学到这个Swag ...
- swagger core 和 swagger ui 如何关联【窥探】
几个片段: package io.swagger.jaxrs.listing; import io.swagger.annotations.ApiOperation; import org.apach ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- .net core 使用swagger生成API文档
[1]安装Swashbuckle.AspNetCore包 [2]在Startup.cs中注册swagger //注册Swagger生成器,定义一个和多个Swagger 文档 services.AddS ...
- .net core的Swagger接口文档使用教程(二):NSwag
上一篇介绍了Swashbuckle ,地址:.net core的Swagger接口文档使用教程(一):Swashbuckle 讲的东西还挺多,怎奈微软还推荐了一个NSwag,那就继续写吧! 但是和Sw ...
随机推荐
- vue3.0创建项目和基本配置
借鉴博客:https://www.jianshu.com/p/6307c568832d/ https://www.cnblogs.com/KenFine/p/10850386.html 项目创建好后, ...
- Centos7安装和配置Tomcat8
第一步:下载Tomcat8压缩包 进入 http://tomcat.apache.org/download-80.cgi 下载tar.gz压缩包 第二步:用xshell工具把压缩包上传到/home/d ...
- 第16节_BLE协议GAP层
学习资料:官方手册 Vol 3: Core System Package [Host volume] Part C: Generic Access Profile 下面这个图是BLE协议各层跟医院的各 ...
- 201871010107-公海瑜《面向对象程序设计(java)》第十二周学习总结
201871010107-公海瑜<面向对象程序设计(java)>第十二周学习总结 项目 内容 ...
- 石欣钰-201871010117 《面向对象程序设计(java)》第六、七周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...
- UiPath:取系统时间/分取各个时间/修改时间显示格式
取系统时间/分取各个时间/修改时间显示格式解决方法: system_time.Year.ToString+"年"+system_time.Month.ToString+" ...
- CentOS 8 网卡命令
nmcli n 查看nmcli状态 nmcli n on 启动nmcli nmcli c up eth0 启动网卡eth0 nmcli c down eth0 关闭网卡eth0 nmcli d c ...
- Springboot 项目中 xml文件读取yml 配置文件
<bean id="yamlProperties" class="org.springframework.beans.factory.config.YamlProp ...
- Git分支的介绍及Gitlab的部署
Git分支介绍几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线.Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在 ...
- [LeetCode] 222. Count Complete Tree Nodes 求完全二叉树的节点个数
Given a complete binary tree, count the number of nodes. Note: Definition of a complete binary tree ...