在.net core web api项目中安装swagger展示api接口(相当于生成api文档)
1, 建立或打开项目后,在“程序包管理器控制台”中执行以下命令添加包引用:
Install-Package Swashbuckle.AspNetCore
2,在项目中打开Startup.cs文件,找到 Configure 方法,在其中添加如下代码:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MsSystem API V1");
});
附添加后代码截图如下:

2, 继续在Startup.cs文件中, 找到 ConfigureServices方法,在其中添加如下代码:
services.AddSwaggerGen();
services.ConfigureSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Info {Version = "v1",Title = "MsSystem API"});
//该文件路径为项目---"属性"---"生成"---"输出"---"xml文档文件"的路径
string xmlFile= @"C:\Users\Administrator\source\repos\WebApiSwaggerDemo\
WebApiSwaggerDemo\WebApiSwaggerDemo.xml";
options.IncludeXmlComments(xmlFile);
options.DescribeAllEnumsAsStrings();
});
注意:
1, 代码new Info处可能会报错,增加using Swashbuckle.AspNetCore.Swagger;引用即可。
2, xmlFile文件的路径为当前项目属性 "生成"---"输出"---"xml文档文件"的路径,需勾选此项才能获得(如下图所示):

附xml文件路径获取截图如下:

3,修改Properties下的launchSettings.json配置文件,指定profiles---IIS Express---launchUrl值为swagger。如下图所示:

5:按F5启动项目。展示的是默认首页(如图1所示)。在浏览器地址栏加上swagger按回车即可看到API描述(如图2所示)。
图1

图2

注意:
在生成的Swagger文档中如果要包含API接口注释信息,需在项目生成属性中勾选输出xml文档文件,并且在项目的Startup.cs文件中通过services.ConfigureSwaggerGen函数指明输出的xml文档文件路径。可按下述步骤进行检查。
操作步骤:
1、 选中项目名称,右击后在快捷菜单中选“属性”,打开项目属性对话框(如下图所示)

2、 在项目属性对话框中左边选“生成”,右边勾选“输出”下的“xml文档文件”,然后记住生成的xml文件路径
本示例xml文件路径为“D:\STUDY\SwaggerDemo\SwaggerDemo\SwaggerDemo.xml”,推荐直接复制此路径。

3、 打开项目Startup.cs文件,通过编写services.ConfigureSwaggerGen函数指明输出的xml文档文件路径(如下图所示)

附示例代码如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddSwaggerGen();
services.ConfigureSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Info { Version = "v1", Title = "MsSystem API" });
//该文件路径为项目属性中"生成"---"输出"---"xml文档文件"的路径
string xmlFile = @"D:\STUDY\SwaggerDemo\SwaggerDemo\SwaggerDemo.xml";
options.IncludeXmlComments(xmlFile);
options.DescribeAllEnumsAsStrings();
});
}
在.net core web api项目中安装swagger展示api接口(相当于生成api文档)的更多相关文章
- Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程
本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...
- LaTeX手动安装宏包(package)以及生成帮助文档的整套流程
注意:版权所有,转载请注明出处. 我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTA ...
- LaTeX-手动安装宏包(package)以及生成帮助文档的整套流程
我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTAN(Comprehensive T ...
- Web API 自动生成帮助文档并使用Web API Test Client 测试
之前在项目中有用到webapi对外提供接口,发现在项目中有根据webapi的方法和注释自动生成帮助文档,还可以测试webapi方法,功能很是强大,现拿出来与大家分享一下. 先看一下生成的webapi文 ...
- Web API项目中使用Area对业务进行分类管理
在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- 如何在spring-boot web项目中启用swagger
swagger的三个项目及其作用 我们打开swagger的官网,会发现有三个swagger相关的项目,它们分别是 swagger-editor 作用是通过写代码,生成文档描述(一个json文件或其他格 ...
- java web项目(spring项目)中集成webservice ,实现对外开放接口
什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...
- Java Web项目中使用Freemarker生成Word文档
Web项目中生成Word文档的操作屡见不鲜.基于Java的解决方式也是非常多的,包含使用Jacob.Apache POI.Java2Word.iText等各种方式,事实上在从Office 2003開始 ...
随机推荐
- 写这篇博客之前,我又忘了“==”和equals的区别。
没错.嘟嘟又把==号和equals 的区别给忘掉了 ==号比较基本类型的时候比的是值,比较引用类型的时候比较的是地址.equals比较基本类型的时候.... 脑子里关于这道题的答案好模糊好没有安全感 ...
- 【iOS】UILabel 常用属性设置
UILabel 的一些常用属性,示例代码如下: // 字体大小 label.font = [UIFont systemFontOfSize:14.0]; label.font = [UIFont fo ...
- 【iOS】iOS CocoaPods 整理
github 上下载 Demo 时第一次遇到这个情况,当时有些不知所措,也没怎么在意,后来项目调整结构时正式见到了这个,并且自己去了解学习了. CocoaPods安装和使用教程 这篇文章写得很好!ma ...
- 2019前端面试系列——HTTP、浏览器面试题
浏览器存储的方式有哪些 特性 cookie localStorage sessionStorage indexedDB 数据生命周期 一般由服务器生成,可以设置过期时间 除非被清理,否则一直存在 页面 ...
- MOCTF-Crypt-writeup
MOctf Crypt Writeup记录 都不难,就随便记录记录下. MOCTF平台地址:http://www.moctf.com 0x01 数据库密码 hint:20岁的小刚,自幼热爱信息安全,一 ...
- setInterval循环设置并传入不同的参数
var taskId; var __sto = setInterval; window.setInterval = function(callback,timeout,param){ var args ...
- MyBatis 简介与入门
简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...
- zxing 扫码第三方SDK版本不兼容问题
在AndroidStudio环境下,或许会遇到下面的问题: Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > ...
- python 闭包,装饰器,random,os,sys,shutil,shelve,ConfigParser,hashlib模块
闭包 def make_arerage(): l1 = [] def average(price): l1.append(price) total = sum(l1) return total/len ...
- vs 中本地 git 的基本使用
用 svn 有个毛病就是只有在改好了之后,才能提交.当周期比较长的时候,连自己都不知道自己改了什么东西,或者意外断电的时候,vs 中已保持的项目都有可能被 vs 去掉. 这个时候,使用 git 创建 ...