swagger ui.html 路径,Swagger UI 详细讲解
本文章描述的是Swagger3.0的内容,与Swagger2.0内容有较大差别。接口描述在3.0中通过Swagger规范(一个JSON文件)来描述,Swagger2.0是通过在接口中提供一系列注解来描述的。
1.集成Swagger
Swagger提供了一组静态页面,可以在SpringBoot应用中集成这些静态页面,直接访问静态页面,并打开指定的Swagger规范,就可以显示RESTFul接口:
进入Swagger官网,选择Swagger UI,点击下载。
页面会跳转到GitHub
在GitHub中,选择一个最新的版本下载,目前最新的是Swagger UI 3.20.5.
下载解压后,找到dist目录,将目录里面所有的文件复制到新的SpringBoot项目中src\main\resources\static\swagger3\目录下面。
打开后的页面分为两部分,第一部分为接口的基本信息,包含了项目名称,描述等信息;第二部分包含了每个接口的具体描述,如接口名字,参数名字,参数类型,是否必填等,还有返回的结果的示例。
注意:默认提供的Petstore接口调用并不能成功,因为这涉及跨域问题,在localhost环境下发起对petstore.swagger.io的AJAX调用会导致失败。
2.Swagger规范
swagger规范是一个JSON格式的文件,包含项目基本信息及具体接口描述信息,可以在swagger3下创建一个sample.json文件,我们将逐渐完善。
{
"swagger":"2.0",
"info":{
"description":"这是一个项目简单实例",
"version":"1.0",
"tirle":"系统接口",
},
"basePath":"/api/v1",
"consumes":[
"application/x-www-form-urlencode"
]
}
属性swagger总是规范的第一个属性,固定为2.0,指的是Swagger规范2.0。
info描述了一个项目的基本信息。
basePath:指的是RESRFul接口的实际地址,以上是/api/v1,则REST接口的地址则是127.0.0.1:8080/api/v1。
consumes:指提交的内容是表单。
点击Explore按钮,页面刷新后,如下所示:
3.接口描述
"paths":{
"/order/{orderId}":{
"get":{
"summary":"获取订单详细信息",
"description":"传入订单编号,获取订单信息",
"parameters":[
{
"name":"orderId",
"in":"path",
"description":"订单Id",
"required":true
}
],
"responses":{
"200":{
"description":"获取用户信息成功"
}
}
}
}
}
每个接口包含了以下信息:
summary:接口主要功能的简要描述
description:接口详细描述
parameters:接口的参数,REST参数在Swagger中分为四个类型,以上实例的参数类型是path,也就是参数是从path中获取的,其他的还有body,parameter等。
response:对应了HTTP status的提示信息,这里描述了成功的提示信息。
4.查询参数描述
"parameters":[
{
"name":"offset",
"in":"query",
"description":"查询起始位置",
"required":true
}
]
https://localhost:8080/api/v1/order?offset=12
5.HTTP头参数
"parameters":[
{
"name":"X-Request-ID",
"in":"header",
"description":"",
}
]
6.表单参数
使用application/x-www-form-urlencoded提交的参数,in的值使用formData。
"parameters":[
{
"name":"orderName",
"in":"formData",
"description":"",
"required":true
}
]
7.文件上传参数
"parameters":[
{
"name":"orderName",
"in":"formData",
"description":"",
"type":"file"
}
]
8.整个请求体作为参数
"/order":{
"post":{
"summary":"创建订单",
"description":"创建一个新订单",
"parameters":[
{
"name":"order",
"in":"body",
"description":"包含订单信息的JSON",
"required":true,
"schema":{
"$ref":"#/definitions/order"
}
}
],
"responses":{
"200":{
"description":"创建订单成功"
}
}
}
}
"definitions":{
"order":{
"type":"object",
"properties":{
"id":{
"type":"string"
},
"name":{
"type":"string"
}
}
}
}
未完待续...
swagger ui.html 路径,Swagger UI 详细讲解相关推荐
- Yaml版接口自动化详细讲解(Python + pytest + allure + log + yaml + mysql + redis + 钉钉通知 + Jenkins)
目录 框架介绍 框架结构 框架功能讲解 common # 配置 config.yaml # 公共配置 setting.py # 环境路径存放区域 data # 测试用例数据 Files # ...
- 前后端分离必备工具:Swagger快速搞定(整合SpringBoot详细教程)
本文根据狂神教学视屏同步所做笔记 目录 一.Swagger简介 1. 前后端分离 2. Swagger引入 二.SpringBoot集成Swagger 1. 新建springboot项目 2. 导入S ...
- 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF/TDM/Airbnb Embedding/Item2vec等)、召回路径简介、多路召回融合]
搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...
- C语言老鼠走迷宫(单路径)算法详细讲解
最近在学习C语言的一些经典算法,其中遇到了一点困难,导致卡进度了.琢磨了很久,在绘制流程图时,突然灵感大开理解了,老鼠走迷宫算法的奇妙.所以写了这个,一来是方便以后右和我类似的同学自学时,遇到这个问题 ...
- 零基础学UI设计,正确的学习方法讲解!
时代发展,互联网更新,因此IT人才备受企业的重视.UI设计是互联网时代的设计变革,有界面与人之间交互的时候就存在,但却没有现在这样对UI设计专业能力的重视.如今市场上对UI开发工程师的需求不断的增加. ...
- 一文详细讲解API网关核心功能和API管理扩展
本文将详细讲解API网关的基础概念,使用场景和核心功能,以及基于API网关核心引擎做的API全生命周期管理功能扩展等,最后介绍当前主流的开源API网关引擎. API网关概述 在微服务架构体系里面,我们 ...
- react的超详细讲解
create-react-app 项目目录 在HTML中使用react 1 2 3基础 React的注意事项 模拟的React 和 render React组件 函数组件 类组件 React 的数据源 ...
- QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)
目录 一.Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二.创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2. ...
- 从0到1手把手搭建spring cloud alibaba 微服务大型应用框架(十五) swagger篇 : gateway 集成swagger 与 knife4j实现在线api文档并嵌入到自己项目内
背景 我们日常开发中基本都是协同开发的,当然极个别的项目整体前后端都是一个人开发的,当多人协作时,尤其是前后端人员协同开发时 必然会面临着前端需要了解后端api接口的情况,两个选择,提前设计好文档,然 ...
最新文章
- 【目标检测系列】CNN中的目标多尺度处理方法
- Nature Human Behavior:大脑对不公平的反应有助预测抑郁症
- iPhone13下周三发布,提前看剧透:刘海缩小、120Hz高刷屏、Mini又续一年…
- 一周小程序学习 第1天
- 后台开发经典书籍--Zookeeper分布式过程
- jasp报错_JSP报错!成功解决问题200+追加分数!
- 这七种回归分析技术,学了不后悔
- 经过这几年的磨练_通过构建这15个项目来磨练您JavaScript技能
- Android Studio3.2经常用的一些依赖(以后再加)
- 获取当前user的Session状态
- Fiddler4抓包筛选条件方法
- 计算机组成原理秦磊华 pdf,_计算机组成原理_设计性实践教学模式研究_秦磊华.pdf...
- MAC 下卸载 MySQL
- Linux配置阿里yum源
- 京瓷打印机m5521cdn_京瓷ECOSYS M5521cdn打印机驱动下载
- pyltp实现句法分析并画出句法图
- 目前最火的PostgreSQL数据库,我通关了 | PostgreSQL技能树测评
- 我的团长我的团第三集
- python 马赛克还原_马赛克消除还原工具Depix测试
- Python中的交叉分析pivot_table
热门文章
- vuex、浏览器缓存机制、数据响应式的原理
- 数组: 数组的遍历: 二维数组: 二维数组的遍历方式:
- CodeForces 1535D : Playoff Tournament 二叉树
- 读书笔记-精准努力-我也是如此的拖延以至于不断平庸
- 判断cron表达式是否在当前时间(或者指定时间)执行
- K8s服务发现组件-CoreDNS简介
- python获取url文件名_Python实现从URL地址提取文件名的方法
- GWAS分析中SNP解释百分比PVE | 第一篇,SNP解释百分比之和为何大于1?
- java双重for循环流程图_Java的for循环
- Android常见输入inputType类型