Swagger的 官网 上有一个在线的demo,可以在线体验。我们也可以下载其 源码 ,执行distindex.html文件,即可得到和官网一样功能的demo,不需要架设服务器就能使用。

从网络请求中查看,发现它请求了一个名为swagger.json的文件。

而这个json文件里面定义的基本就是文档的scheme。从这个页面我们基本上可以发现swagger的原理了:

  1. swagger依赖一个基于openapi规范的json文档,它定义了接口scheme。
  2. 页面加载后,会获取指定的接口的scheme,然后生成接口页面。
  3. 点击执行后,会通过浏览器发送ajax请求,然后将结果呈现在界面上,从而实现接口测试。

简单的来讲,swagger接口测试是一个纯前端的实现,不需要后台支持。它就是一个在线版的postman,实际上,postman也支持openapi规范,通过导入scheme后,也可以实现一样的功能。不过,和postman相比,swagger具有如下优势:

  1. 不需要本地客户端
  2. 可以和应用集成,不需要手动导入接口定义
  3. 通过浏览器发送的ajax请求,往往可自动基础了用户的身份信息,测试带权限控制的接口非常方便。

在.net core中,要将swaggerui和站点集成,需要进行如下几步:

  1. 根据ApiExplore生成接口文档内容
  2. 注册路由,提供接口文档的下载地址
  3. 将swaggerui页面集成到站点中
  4. 将路由路径设置到swagger页面中

简单的来讲就两步,提供接口文档下载url和集成swaggerui。当前.net core已经有了一些开源实现,如: swashbucklenswag 。对于大多数的场景来说,直接使用它们是非常方便的。

然而,有的时候我们是需要一些高级的功能的,如分布式的服务需要提供一个集中的api页面,或者需要对页面进行一些定制(如分组,权限控制,样式调整等)。虽然这些库也提供了一定的支持,但往往不够灵活。一个简单的方案是: 只利用这些库来生成swagger接口文档swagger.json,在官方的静态页面基础上自己定制UI, 这样要灵活的多。

swagger页面不显示_Swagger原理简介相关推荐

  1. swagger页面不显示_Swagger字段属性说明不显示

    不管是在SwaggerBootstrapUi以前的版本中,还是在SwaggerBootstrapUi的1.8.9版本发布新功能字段注释逐行显示时,很多朋友都会问为啥自己的UI文档上不显示注释. 1.8 ...

  2. SpringBoot之整合Swagger(页面无法显示)

    问题: 配置Swagger后,访问http://localhost:8080/swagger-ui.html不显示页面 原因:Swagger版本过高 我尝试降低springboot版本到2.2.6.R ...

  3. 轻量级日志系统Loki原理简介和使用

    前言 这篇文章应朋友的要求,让写一篇loki日志系统,咱定义不容辞 一定要好好写 开干! 现实中的需求 公司的容器云运行的应用或某一个节点出现了问题,解决的思路 问题首先被prometheus监控 1 ...

  4. [html] 如何在页面上显示Emoji表情?

    [html] 如何在页面上显示Emoji表情? 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码. ...

  5. CAS单点登陆原理简介及环境搭建

    前言 最近这几天在研究CAS 今天终于在本地部署成功了 今天写一篇文章记录下 原理简介 SSO单点登录 在多个相互信任的系统中,用户只需要登录一次就可以访问其他受信任的系统. 新浪微博与新浪博客是相互 ...

  6. linux设备驱动程序架构的研究,Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)...

    Linux设备驱动程序学习(12) -Linux设备模型(底层原理简介) 以<LDD3>的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的.但是我个人认 ...

  7. oracle bam教程,Oracle BAM原理简介

    Oracle BAM原理简介 Oracle BAM全称为Oracle Busines Activity Monitoring,中文叫Oracle 业务活动监视 ,BAM有两种功能 1.创建实时repo ...

  8. Linux安全原理简介

    Linux安全原理简介 介绍 在设置Linux计算机的所有阶段,安全性应是首要考虑之一.要在计算机上实施良好的安全策略,需要对Linux的基础知识以及所使用的某些应用程序和协议有充分的了解. Linu ...

  9. 飞机飞行速度测量的原理简介

    原文地址:飞机飞行速度测量的原理简介 作者:stdhj 在飞机的前边安装有一个叫空速管的管子,也叫皮托管,总压管,风向标气流方向传感器或流向角感应器,当飞机向前飞行时,气流便冲进空速管,在管子末端的感 ...

最新文章

  1. 【深度学习理论】(3) 激活函数
  2. 【pytorch】pytorch-yolov3拍照并保存,进行检测后遍历所有图片并显示图片
  3. php两数相乘,php – 如何将数字相乘,直到达到一位数字并计算数字?
  4. php如何打开数据库,php数据库怎么打开
  5. hbase中清空整张表的数据
  6. HALCON示例程序classify_citrus_fruits.hdev应用常规gmm分类器进行水果分类
  7. Java 并发总结——高并发与同步锁
  8. Java开发必须掌握的5种加密策略
  9. Python yaml处理
  10. How to Easily Read a Linux Man Page
  11. 什么版本的linux可以用ps,在linux上使用ps(转载)
  12. python如何制作登录密码_python实战系列之模拟用户密码登陆系统(一)
  13. paddlepaddle的使用
  14. 小白建站教程 腾讯云快速建站教程
  15. stm32cubeide烧写程序_STM32Cube工具,覆盖开发全过程(一)
  16. office是什么意思
  17. nrf52832 学习笔记(六)配对和绑定
  18. Java中的finalize方法
  19. 2022初级会计实务教材读书笔记
  20. LightGBM详解--原理+技巧+参数

热门文章

  1. PHP 自定义二维码生成
  2. 32位PowerPC构架通用寄存器分析及总结三
  3. 笔记本电脑如何将屏幕投影到电视上
  4. Parameter-efficient transfer learning系列之LoRA与BitFit
  5. 浅谈socket传输文件速率优化
  6. 苹果xr nfc功能不能实现门禁卡的功能
  7. 喜马拉雅第三方客户端开发(界面)。
  8. 教大家租用站群服务器做SEO优化的一些技巧
  9. 机器学习中的 7 大损失函数实战总结(附Python演练)
  10. CSS字体样式(font)[详细]