netcore2.2以及netcore3.0下的swagger使用
自从core3.0发布后,中间有很多东西跟以往用到的2.2版本相差特别多,今天主要来说一下swagger不同版本下的使用。
swagger就是一个可视化接口工具,为了方便让调用者能够很好的了解接口以及接口需要的参数!具体界面不做过多的截图,今天主要以应用为主。
一:2.2版本下面使用swagger
1.1:创建一个netcore2.2版本的webapi的项目
1.2:在Nuget中添加Swashbuckle.AspNetCore
1.3:在Startup类中增加如下内容:
1.3.1:在ConfigureServices方法中增加:services.AddSwaggerGen,具体代码如下:
#region 注册Swagger生成器
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1.0",
Title = "wss API",
Contact = new Contact
{
Name = "wss",
Email = "loverwangshan@qq.com",
Url = ""
},
License = new License
{
Name = "版权所有 © wss",
Url = "http://331803047"
}
});
var path = Path.Combine(AppContext.BaseDirectory, "MyFramework4CoreTest.xml"); //MyFramework4CoreTest.xml为右键属性生成的xml文件
c.IncludeXmlComments(path);
//c.OperationFilter<AddAuthTokenHeaderParameter>();
});
#endregion
1.3.2:Configure方法中增加:app.UseSwagger跟app.UseSwaggerUI,具体如下:
#region Swagger
// 启用中间件服务生成Swagger作为JSON终结点
app.UseSwagger();
// 启用中间件服务对swagger-ui,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "create by wss");
});
#endregion
1.4:项目右键属性生成-》输出(xml文档文件),谨记该文件一定要发布时始终复制,不然发布在IIS上面会报错
以上完成四步,则配置好了一个netcore2.2的swagger可视化接口!
二:3.0版本下面使用swagger
2.1:创建3.0的webapi项目
2.2:引用以下类库:
Microsoft.OpenApi
(以下类库在netcore3.0版本的必须要求5.0(目前只有预览版本))
Swashbuckle.AspNetCore
Microsoft.Extensions.PlatformAbstractions
Swashbuckle.AspNetCore.SwaggerGen
2.3:在Startup类中做如下操作:
2.3.1:在ConfigureServices方法中services.AddSwaggerGen,具体代码如下:
#region 注册Swagger生成器
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Version = "1.0.0.0",
Title = "wss 1.0.0.0",
Description = "wss ASP.NET Core Web API",
Contact = new OpenApiContact
{
Name = "wss",
Email = "loverwangshan@qq.com",
Url =new Uri("http://wpa.qq.com/msgrd?v=3&uin=331803047&site=qq&menu=yes")
},
License = new OpenApiLicense
{
Name = "版权所有 © wss",
Url = new Uri("http://wss.net")
}
});
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "MyFrameworkWebApi4Core3.0Test.xml");
c.IncludeXmlComments(xmlPath);
});
#endregion
2.3.2:在Configure方法中 app.UseSwagger 和 app.UseSwaggerUI,具体代码如下:
#region Swagger
// 启用中间件服务生成Swagger作为JSON终结点
app.UseSwagger();
// 启用中间件服务对swagger-ui,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "wss");
});
#endregion
2.4:项目右键属性-》生成-》输出(xml文档文件),谨记该文件一定要发布时始终复制,不然发布在IIS上面会报错(生成输出的名字为:MyFrameworkWebApi4Core3.0Test.xml)
2.5:Action上面必须有 [HttpGet] 或者 [HttpPost] 等标识,不然会报“Failed to load API definition.”
netcore2.2以及netcore3.0下的swagger使用的更多相关文章
- netcore3.0 webapi集成Swagger 5.0,Swagger使用
Swagger使用 1.描述 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 作用: 1.接口的文档在线自动生成. 2.功能测试 本文转自 ...
- netcore3.0 webapi集成Swagger 5.0
在项目中引用Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Filters两个dll,在Startup中的ConfigureServices相关配置代码如下 ...
- NetCore 3.0 中使用Swagger生成Api说明文档及升级报错原因
认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参 ...
- 03、NetCore2.0下Web应用之搭建最小框架
03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的 ...
- NetCore2.0下使用EF CodeFirst创建数据库
本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目 取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...
- Linux下搭建.NetCore3.0环境及创建项目
================================================== ================================================= ...
- .net core2.0下使用Identity改用dapper存储数据
前言. 已经好多天没写博客了,鉴于空闲无聊之时又兴起想写写博客,也当是给自己做个笔记.过了这么些天,我的文笔还是依然那么烂就请多多谅解了.今天主要是分享一下在使用.net core2.0下的实际遇到的 ...
- 在spring+springMvc+mabatis框架下集成swagger
我是在ssm框架下集成swagger的,具体的ssm搭建可以看这篇博文: Intellij Idea下搭建基于Spring+SpringMvc+MyBatis的WebApi接口架构 本项目的GitHu ...
- 关于asp.netCore3.0区域和路由配置
在ASP.NET Core 3.0中路由配置和2.0不一样了 一.MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureSer ...
随机推荐
- Python—变量详解
变量赋值 a = 1 b = 2 c = 3 print a, b, c # 1 2 3 a = b = c = 1 print a, b, c # 1 1 1 a, b, c = 1, 2, 3 p ...
- [PHP] time_wait与长连接短连接
服务端上查看tcp连接的建立情况,直接使用netstat命令来统计,看到了很多的time_wait状态的连接.这些状态是tcp连接中主动关闭的一方会出现的状态.该服务器是nginx的webserver ...
- [PHP] 安装PHP报错“Primary script unknown”的解决方法
当安装完最新版的nginx和最新版的PHP以后,使用niginx默认配置文件中的PHP配置会有错误访问指定目录下的php文件时,显示File not found.错误.查看nginx的错误日志显示 9 ...
- 【西北师大-2108Java】第四次作业成绩汇总
[西北师大-2108Java]第四次作业成绩汇总 深入理解程序设计中算法与程序的关系: 深入理解java程序设计中类与对象的关系: 理解OO程序设计的第2个特征:继承.多态: 学会采用继承定义类设计程 ...
- Spring Boot 自定义Intercepter
在 SpringBoot2.X 中 ,WebMvcConfigurerAdapter 被deprecated , 更好的做法是 implements WebMvcConfigurer 一.自定义拦截器 ...
- LeetCode 62. Unique Paths不同路径 (C++/Java)
题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...
- UVA11374 Airport Express 正反两次最短路
问题描述 洛谷(有翻译) 吐槽 一道坑题. 如何对待商务票 因为商务票只有一张,所以在\(k\)条边中只有一条边会被选中,很显然,最后这条边会被枚举. 如何选择使用商务票的边 假设我们正在枚举这条边, ...
- JAVA中a++ 和 ++a 的区别
- 【BZOJ3876】[AHOI2014&JSOI2014] 支线剧情(无源汇有上下界网络流)
点此看题面 大致题意: 有一张\(DAG\),经过每条边有一定时间,从\(1\)号点出发,随时可以返回\(1\)号点,求经过所有边的最短时间. 无源汇有上下界网络流 这是无源汇有上下界网络流的板子题. ...
- -bash:vi:command not find 问题解决
Linux命令行输入命令执行后报“bash:vi:command not found”. 这是由于系统PATH设置问题,PATH没有设置对,系统就无法找到精确命令了. 1.在命令行中输入:export ...