Core 3.0使用Swagger 完全图解教程----系列1

什么是Swagger

Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器。

这个解释简单点来讲就是说,swagger是一款可以根据resutful风格生成的生成的接口开发文档,并且支持做测试的一款中间软件。

为什么要使用swaager?

  1. 对于后端开发人员来说
    不用再手写WiKi接口拼大量的参数,避免手写错误
    对代码侵入性低,采用全注解的方式,开发简单
    方法参数名修改、增加、减少参数都可以直接生效,不用手动维护
    缺点:增加了开发成本,写接口还得再写一套参数配置
  2. 对于前端开发来说
    后端只需要定义好接口,会自动生成文档,接口功能、参数一目了然
    联调方便,如果出问题,直接测试接口,实时检查参数和返回值,就可以快速定位是前端还是后端的问题
  3. 对于测试
    对于某些没有前端界面UI的功能,可以用它来测试接口
    操作简单,不用了解具体代码就可以操作
    操作简单,不用了解具体代码就可以操作

如何在Core中使用swagger

1.创建项目



2.添加项目Nuget包

—对你的Api项目找到NuGet管理包,然后搜索Swashbuckle.AspNetCore找到下面图片中的程序包然后安装


需要依次点击确定和接受。安装完成后,依赖项里面就会多出来一个包的引用


3.配置

在Startup.cs文件中做配置
1.首先先引入如下命名空间:

using Swashbuckle.AspNetCore.Swagger;

2.将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

         //注册Swagger生成器,定义一个和多个Swagger 文档services.AddSwaggerGen(config => {config.SwaggerDoc("v1", new OpenApiInfo { Title = "接口文档", Version = "v1" });});

3.在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务:

            // 配置Swagger  app.UseSwagger();//Swagger Core需要配置的 app.UseSwaggerUI(c =>{             c.SwaggerEndpoint("/swagger/v1/swagger.json", "my api");});

启动之后就可以看到生成swagger的文档

4.为swagger生成说明明档

第一步再项目右键—>属性—>生成 (配置生成的文件路径)

Startup中修改启动的服务services(在里面添加文档注释路径)

     //注册Swagger生成器,定义一个和多个Swagger 文档services.AddSwaggerGen(c => {c.SwaggerDoc("v1", new OpenApiInfo { Title = "接口文档", Version = "v1" });// 下面三个方法为 Swagger JSON and UI设置xml文档注释路径var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)var xmlPath = Path.Combine(basePath, "Demo.xml");c.IncludeXmlComments(xmlPath);});

再添加控制器或者默认的方法中添加

还有一步修改控制器的路由信息[Route("api/[controller]/[action]")](路由信息配置可以用继承在处理)启动后就可以看到效果


(微信公众号)分享最新的Net和Core相关技术以及实战技巧,更重要的是分享Net项目,不容错过的还有书籍,手写笔记等等。

Core 3.0使用Swagger<完全图解>相关推荐

  1. 向net core 3.0进击——Swagger的改变

    前言 十一小长假在不知不觉间可都没了,在这个小尾巴的空隙,把这两天鼓捣的net core 3.0升级过程记录一下,首先还是根据之前的顺序一个个补充进来,先从Swagger的变化说起(新建工程什么的不多 ...

  2. ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现

    from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...

  3. asp.net core 3.0 中使用 swagger

    asp.net core 3.0 中使用 swagger Intro 上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口 ...

  4. 【 .NET Core 3.0 】框架之三 || swagger的使用

    一.为什么使用Swagger 上文中已经说到,单纯的项目接口在前后端开发人员使用是特别不舒服的,那所有要推荐一个,既方便又美观的接口文档说明框架,当当当,就是Swagger,随着互联网技术的发展,现在 ...

  5. ASP.NET Core WebAPI帮助页--Swagger简单使用1.0

    1.什么是Swagger? Swagger是一个规范且完整的框架,提供描述.生产.消费和可视化RESTful API,它是为了解决Web API生成有用文档和帮助页的问题. 2.为啥选用swagger ...

  6. ASP.NET Core 5.0 Web API 自动集成Swashbuckle

    ASP.NET Core 5.0 Web API与开放源代码项目 Swashbuckle.AspNetCore 的维护人员合作,ASP.NET Core API 模板包含对 Swashbuckle 的 ...

  7. ASP.NET Core 5.0新增功能摘要

    .NET5.0发布了大半个月,从.NET Core3.1的平滑迁移体验令人心旷神怡,改个targetframework就完成迁移,不要太轻松!然而,ASP.NET Core5.0也有很多有意思的改变, ...

  8. .NET Core 3.0 使用Nswag生成Api文档和客户端代码

    摘要 在前后端分离.Restful API盛行的年代,完美的接口文档,成了交流的纽带.在项目中引入Swagger (也称为OpenAPI),是种不错的选择,它可以让接口数据可视化.下文将会演示 利用N ...

  9. asp.net core 3.0 更新简记

    asp.net core 3.0 更新简记 Intro 最近把活动室预约项目从 asp.net core 2.2 更新到了 asp.net core 3.0,记录一下,升级踩过的坑以及经验总结,包括但 ...

最新文章

  1. 京东刘海锋:过去十年架构领域最重要的三个变化
  2. ffmpeg.c(ffmpeg.exe)调试笔记一
  3. 帝国cms内容页调用php,帝国CMS内容页调用上一篇与下一篇方法汇总
  4. VBM计算操作过程记录
  5. 【已解决】Python将网页内容保存为PDF (url转pdf)
  6. BCNF无损分解例题
  7. 卫星勘测洪水数据网站
  8. 原创 导出微信收藏到电脑
  9. Python中shape的用法
  10. 来钱快的3种副业,虽然不起眼,不过很赚钱‍‍‍
  11. 补码-加法与减法运算
  12. 一个优秀IT专家的成长历程---献给所有的颓废或即将颓废的人们(ZZ)
  13. ios使用gpx_使用JavaScript处理GPX轨道
  14. c语言寒假作业答案,寒假作业的答案
  15. 查找wordpress端口_如何查看人们用来查找WordPress网站的关键字
  16. python颜色识别原理_python+opencv实现颜色检测、轮廓检测、颜色追踪
  17. 自学网络安全?一般人我还是劝你算了吧
  18. agsXMPP + Openfire 即时通讯开发(二) 【文件传输】
  19. 利用python获取股票涨停板数据
  20. fishnet:论文阅读与代码理解

热门文章

  1. bootstrap开发微票儿网站首页
  2. android 行 64,android缺陷分析:内核空指针
  3. HTML5+CSS3学习笔记(第1章)HTML基础
  4. 【教3妹学java】2.引用数据类型
  5. markdown文件表格的写法
  6. onblur失焦事件
  7. Linux内核移植 part2:uboot 设备驱动模型
  8. VS2019MFC进行无预览简单绘图:直线,画笔,画刷,矩形,椭圆
  9. 虚拟数字人成短视频/直播主阵地,虚拟人提升数字内容生产效率
  10. 华为手机保留数据解锁密码手机保资料解锁原理华为解锁屏密码不删资料华为手机怎么保留数据解锁