.NET Core WEB API使用Swagger生成在线接口文档
1项目引用Swashbuckle.AspNetCore程序集和Microsoft.Extensions.PlatformAbstractions程序集
右击项目打开"管理NuGet程序包...",选择Swashbuckle.AspNetCore进行安装,如下图所示:

选择选择Microsoft.Extensions.PlatformAbstractions进行安装,如下图所示:

2.在工程中配置Swagger
在Startup.cs类中的ConfigureServices中添加如下代码:
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "Swagger示例 API"
});
//Determine base path for the application.
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
});
}
在Configure方法中添加如下代码:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
} app.UseHttpsRedirection();
app.UseMvc();
//添加Swagger引用
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Swagger示例API V1");
});
}
3.Swagger在线接口文档效果
工程运行后,在服务地址的端口号后面输入swagger/index.html,在线文档的效果就出来了,如下图所示:

4.让方法和字段显示文字注释
首先右击项目,选择“属性”,让项目输出注释xml文档,如下图所示:

在ConfigureServices方法中添加如下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "Swagger示例 API"
});
//显示文档注释
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "SwaggerTest.xml");
options.IncludeXmlComments(xmlPath);
});
}
给相应的接口方法和实体字段添加注释后,启动项目效果如下所示:

5.把Swagger文档设置为项目的启始页
打开工程的launchSettings.json配置文件,把"launchUrl": 的地址修改为"swagger/index.html",如下图所示:

.NET Core WEB API使用Swagger生成在线接口文档的更多相关文章
- ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET
		以下为教程: 在现有webapi项目中,nuget安装以下两个插件 swagger.net.ui swashbuckle 安装完毕后可以卸载Swagger.NET,此处不需要! 安装完毕后屏蔽以下代码 ... 
- ASP.NET Web API 使用Swagger生成在线帮助测试文档
		Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具.项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,sw ... 
- 使用ASP.NET Web API Help Pages 创建在线接口文档
		操作步骤 1.新建Web API项目 2.在项目Areas文件夹下找到以下文件,取消注释图中代码. 3.右键解决方案,属性,如图设置. 4.运行程序,点击右上角API 接口列表: 详情-无参数: 详情 ... 
- Asp.Net Core Web Api 使用 Swagger 生成 api 说明文档
		最近使用 Asp.Net Core Web Api 开发项目服务端.Swagger 是最受欢迎的 REST APIs 文档生成工具之一,进入我的视野.以下为学习应用情况的整理. 一.Swagger 介 ... 
- springboot项目利用Swagger2生成在线接口文档
		Swagger简介. Swagger2是一款restful接口文档在线生成和在线调试工具.很多项目团队利用Swagger自动生成接口文档,保证接口文档和代码同步更新.在线调试.简单地说,你可以利用这个 ... 
- 使用Swagger生成简单接口文档
		使用swagger通过简单的配置可以生成简单的接口文档: 依赖包: // Swagger2 compile 'io.springfox:springfox-swagger2:2.8.0' compil ... 
- swagger 生成的接口文档,隐藏接口的某个参数
		[问题描述] controller 中的处理请求的方法,有时候会添加一些额外的参数.比如下面代码中 UserVo: @PostMapping(value = "/add-office-par ... 
- Swagger+Spring mvc生成Restful接口文档
		简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ... 
- 使用swagger实现web api在线接口文档
		一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ... 
随机推荐
- if语句&switch&Scanner
			if流程控制语句: if 语句的用语法如下: if(boolean表达式){ //如果条件为true那么执行 } 只有条件为true时才会执行,否则执行if语句后面的代码. 实例代码: public ... 
- sedlauncher.exe
			这个进程很恐怖,屁大点的东西,但会造成磁盘爆满. 首先,这个99%不是病毒,而是win10更新后出现的东西. 关于解释,国内乱七八糟的,我没有搜到,只好在狗哥和微软官网搜了一下. 大多说是 KB402 ... 
- Angular4 表单处理
- 问题 1672: 迷宫问题 (BFS)
			题目链接:https://www.dotcpp.com/oj/problem1672.html 问题 1672: 迷宫问题 时间限制: 1Sec 内存限制: 32MB 提交: 663 解决: 158 ... 
- Python-----多线程threading用法
			threading模块是Python里面常用的线程模块,多线程处理任务对于提升效率非常重要,先说一下线程和进程的各种区别,如图 概括起来就是 IO密集型(不用CPU) 多线程计算密集型(用CPU) 多 ... 
- java面向对象总结(一)
			1. 对象的概念及面向对象的三个基本特征 面向对象的三大核心特性 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率.面向对象程序设计有以下优点. ... 
- Python数据分析Pandas库之熊猫(10分钟一)
			pandas熊猫10分钟教程 排序 df.sort_index(axis=0/1,ascending=False/True) df.sort_values(by='列名') import numpy ... 
- windows杀进程
			netstat -aon|findstr 1099 tasklist|findstr 1008 taskkill /pid 10084 -f 
- MTK 使用iptable 命令来完成网络路由(android WIFI/4G分享网络)
			很多时候,总有些奇怪的需求,这时候是发挥我们的聪明才智的时候!! 有客户的需求是: 公网 WIFI 4G/其他网络 以太网1 以太网2 内部设备 描述下需求:现今有一个控制设备,里面有WIFI,物联网 ... 
- php 随机红包算法
			<?php /** * 红包分配算法 * * example * $coupon = new Coupon(200, 5); * $res = $coupon->handle(); * p ... 
