自从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,具体代码如下:

  1. #region 注册Swagger生成器
  2. services.AddSwaggerGen(c =>
  3. {
  4. c.SwaggerDoc("v1", new Info
  5. {
  6. Version = "v1.0",
  7. Title = "wss API",
  8. Contact = new Contact
  9. {
  10. Name = "wss",
  11. Email = "loverwangshan@qq.com",
  12. Url = ""
  13. },
  14. License = new License
  15. {
  16. Name = "版权所有 © wss",
  17. Url = "http://331803047"
  18. }
  19. });
  20. var path = Path.Combine(AppContext.BaseDirectory, "MyFramework4CoreTest.xml"); //MyFramework4CoreTest.xml为右键属性生成的xml文件
  21. c.IncludeXmlComments(path);
  22. //c.OperationFilter<AddAuthTokenHeaderParameter>();
  23. });
  24. #endregion

1.3.2:Configure方法中增加:app.UseSwagger跟app.UseSwaggerUI,具体如下:

  1. #region Swagger
  2. // 启用中间件服务生成Swagger作为JSON终结点
  3. app.UseSwagger();
  4. // 启用中间件服务对swagger-ui,指定Swagger JSON终结点
  5. app.UseSwaggerUI(c =>
  6. {
  7. c.SwaggerEndpoint("/swagger/v1/swagger.json", "create by wss");
  8. });
  9. #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,具体代码如下:

  1. #region 注册Swagger生成器
  2. services.AddSwaggerGen(c =>
  3. {
  4. c.SwaggerDoc("v1", new OpenApiInfo
  5. {
  6. Version = "1.0.0.0",
  7. Title = "wss 1.0.0.0",
  8. Description = "wss ASP.NET Core Web API",
  9. Contact = new OpenApiContact
  10. {
  11. Name = "wss",
  12. Email = "loverwangshan@qq.com",
  13. Url =new Uri("http://wpa.qq.com/msgrd?v=3&uin=331803047&site=qq&menu=yes")
  14. },
  15. License = new OpenApiLicense
  16. {
  17. Name = "版权所有 © wss",
  18. Url = new Uri("http://wss.net")
  19. }
  20. });
  21. var basePath = PlatformServices.Default.Application.ApplicationBasePath;
  22. var xmlPath = Path.Combine(basePath, "MyFrameworkWebApi4Core3.0Test.xml");
  23. c.IncludeXmlComments(xmlPath);
  24. });
  25. #endregion

2.3.2:在Configure方法中 app.UseSwagger 和 app.UseSwaggerUI,具体代码如下:

  1. #region Swagger
  2. // 启用中间件服务生成Swagger作为JSON终结点
  3. app.UseSwagger();
  4. // 启用中间件服务对swagger-ui,指定Swagger JSON终结点
  5. app.UseSwaggerUI(c =>
  6. {
  7. c.SwaggerEndpoint("/swagger/v1/swagger.json", "wss");
  8. });
  9. #endregion

2.4:项目右键属性-》生成-》输出(xml文档文件),谨记该文件一定要发布时始终复制,不然发布在IIS上面会报错(生成输出的名字为:MyFrameworkWebApi4Core3.0Test.xml)

2.5:Action上面必须有 [HttpGet] 或者 [HttpPost] 等标识,不然会报“Failed to load API definition.”

netcore2.2以及netcore3.0下的swagger使用的更多相关文章

  1. netcore3.0 webapi集成Swagger 5.0,Swagger使用

    Swagger使用 1.描述 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 作用: 1.接口的文档在线自动生成. 2.功能测试 本文转自 ...

  2. netcore3.0 webapi集成Swagger 5.0

    在项目中引用Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Filters两个dll,在Startup中的ConfigureServices相关配置代码如下 ...

  3. NetCore 3.0 中使用Swagger生成Api说明文档及升级报错原因

    认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参 ...

  4. 03、NetCore2.0下Web应用之搭建最小框架

    03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的 ...

  5. NetCore2.0下使用EF CodeFirst创建数据库

    本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目  取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...

  6. Linux下搭建.NetCore3.0环境及创建项目

    ================================================== ================================================= ...

  7. .net core2.0下使用Identity改用dapper存储数据

    前言. 已经好多天没写博客了,鉴于空闲无聊之时又兴起想写写博客,也当是给自己做个笔记.过了这么些天,我的文笔还是依然那么烂就请多多谅解了.今天主要是分享一下在使用.net core2.0下的实际遇到的 ...

  8. 在spring+springMvc+mabatis框架下集成swagger

    我是在ssm框架下集成swagger的,具体的ssm搭建可以看这篇博文: Intellij Idea下搭建基于Spring+SpringMvc+MyBatis的WebApi接口架构 本项目的GitHu ...

  9. 关于asp.netCore3.0区域和路由配置

    在ASP.NET Core 3.0中路由配置和2.0不一样了 一.MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureSer ...

随机推荐

  1. Multi-touch (MT) Protocol 小结

    1, 两种多点触摸协议: A类: 处理无关联的接触: 用于直接发送原始数据: B类: 处理跟踪识别类的接触: 通过事件slot发送相关联的独立接触更新. 2, 触摸协议的使用: A类协议: A类协议在 ...

  2. ssh-agent,ssh-add 命令

    centos 6.9 下测试: ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管. eval `ssh-agent -s` ssh-a ...

  3. python函数内容

    在刚接触python的时候就有个疑问,什么是函数? python语言的函数和数学语言的函数有区别吗? 什么是函数 数学函数:给定一个数集A,假设其中的元素为x.现对A中的元素x施加对应法则f,记作f( ...

  4. kafka相关操作

    kafka安装 下载 wget http://apache.gree.com/apache/kafka/1.0.2/kafka_2.11-1.0.2.tgz tar -zxvf kafka_2.11- ...

  5. 5. git-lab 项目操作

    项目操作 一.给成员授权项目权限 之前我们是给组增加成员.  当有的项目需要给组下面的成员授权不一样的时候. 我们需要在项目里面给成员授权权限 点击管理区域 点这个项目 看下图,我们可以看到  现在这 ...

  6. C++ int 和string互相转化

    1.int转换成string );//"-12" );//"12" +);//"1" 2.string转换成int );//"-1 ...

  7. android shape图形优化Button效果

    android shape可以让我们通过定义xml文件的方式创建图形,当然只能实现一些比较简单的图形(圆形,矩形,椭圆,线段),但是已经相当不错了,通过shape创建的图形作为控件的背景已经基本可以满 ...

  8. 数据仓库009 - SQL命令实战 - where GROUP BY join 部门综合案例

    一.where条件 WHERE 子句中主要的运算符,可以在 WHERE 子句中使用,如下表: 运算符 描述 = 等于 <> 不等于.注释:在 SQL 的一些版本中,该操作符可被写成 != ...

  9. 洛谷P4015 运输问题 网络流24题

    看了下SPFA题解,一个一个太麻烦了,另一个写的很不清楚,而且注释都变成了"????"不知道怎么过的,于是自己来一发SPFA算法. Part 1.题意 M 个仓库,卖给 N 个商店 ...

  10. AOP软件设计

    什么是面向方面的编程? 为什么面向方面的软件设计? 术语 关注 视口 关注点分离 人工制品 横切 方面 编织 零件 形式主义 第二节 案例研究 关注 人工制品 横切 方面 AspectJ 加入点 切入 ...