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文档)的更多相关文章

  1. Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程

    本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...

  2. LaTeX手动安装宏包(package)以及生成帮助文档的整套流程

    注意:版权所有,转载请注明出处. 我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTA ...

  3. LaTeX-手动安装宏包(package)以及生成帮助文档的整套流程

    我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTAN(Comprehensive T ...

  4. Web API 自动生成帮助文档并使用Web API Test Client 测试

    之前在项目中有用到webapi对外提供接口,发现在项目中有根据webapi的方法和注释自动生成帮助文档,还可以测试webapi方法,功能很是强大,现拿出来与大家分享一下. 先看一下生成的webapi文 ...

  5. Web API项目中使用Area对业务进行分类管理

    在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...

  6. ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

    参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...

  7. 如何在spring-boot web项目中启用swagger

    swagger的三个项目及其作用 我们打开swagger的官网,会发现有三个swagger相关的项目,它们分别是 swagger-editor 作用是通过写代码,生成文档描述(一个json文件或其他格 ...

  8. java web项目(spring项目)中集成webservice ,实现对外开放接口

    什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...

  9. Java Web项目中使用Freemarker生成Word文档

    Web项目中生成Word文档的操作屡见不鲜.基于Java的解决方式也是非常多的,包含使用Jacob.Apache POI.Java2Word.iText等各种方式,事实上在从Office 2003開始 ...

随机推荐

  1. 写这篇博客之前,我又忘了“==”和equals的区别。

    没错.嘟嘟又把==号和equals 的区别给忘掉了 ==号比较基本类型的时候比的是值,比较引用类型的时候比较的是地址.equals比较基本类型的时候.... 脑子里关于这道题的答案好模糊好没有安全感 ...

  2. 【iOS】UILabel 常用属性设置

    UILabel 的一些常用属性,示例代码如下: // 字体大小 label.font = [UIFont systemFontOfSize:14.0]; label.font = [UIFont fo ...

  3. 【iOS】iOS CocoaPods 整理

    github 上下载 Demo 时第一次遇到这个情况,当时有些不知所措,也没怎么在意,后来项目调整结构时正式见到了这个,并且自己去了解学习了. CocoaPods安装和使用教程 这篇文章写得很好!ma ...

  4. 2019前端面试系列——HTTP、浏览器面试题

    浏览器存储的方式有哪些 特性 cookie localStorage sessionStorage indexedDB 数据生命周期 一般由服务器生成,可以设置过期时间 除非被清理,否则一直存在 页面 ...

  5. MOCTF-Crypt-writeup

    MOctf Crypt Writeup记录 都不难,就随便记录记录下. MOCTF平台地址:http://www.moctf.com 0x01 数据库密码 hint:20岁的小刚,自幼热爱信息安全,一 ...

  6. setInterval循环设置并传入不同的参数

    var taskId; var __sto = setInterval; window.setInterval = function(callback,timeout,param){ var args ...

  7. MyBatis 简介与入门

    简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...

  8. zxing 扫码第三方SDK版本不兼容问题

    在AndroidStudio环境下,或许会遇到下面的问题: Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > ...

  9. python 闭包,装饰器,random,os,sys,shutil,shelve,ConfigParser,hashlib模块

    闭包 def make_arerage(): l1 = [] def average(price): l1.append(price) total = sum(l1) return total/len ...

  10. vs 中本地 git 的基本使用

    用 svn  有个毛病就是只有在改好了之后,才能提交.当周期比较长的时候,连自己都不知道自己改了什么东西,或者意外断电的时候,vs 中已保持的项目都有可能被 vs 去掉. 这个时候,使用 git 创建 ...