欢迎来到《圣博凯斯》变频供水设备官网
精锐于专业 / 卓然于品质 -- 20年专注于供水行业,缔造至臻品质 -- 服务热线:0731-85783205 18932453205

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\目录下面。访问http://localhost:8080/swagger3/index.html,会出现如下界面。

  该页面加载的时候,会自动打开一个swagger接口规范文档,如上图输入框中所示:https://petstore.swagger.io/v2/swagger.json。

  打开后的页面分为两部分,第一部分为接口的基本信息,包含了项目名称,描述等信息;第二部分包含了每个接口的具体描述,如接口名字,参数名字,参数类型,是否必填等,还有返回的结果的示例。

注意:默认提供的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:指提交的内容是表单。

重新访问网址http://localhost:8080/swagger3/index.html,并且在页面填写规范地址:

http://localhost:8080/swagger3/sample.json

点击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" } } } }

 

 

未完待续...

 

猜你喜欢

  • 风机的基本性能参数有哪些 低压风机的性能以及性能要求有哪些?

    低压风机的性能主要就是节能,对于我国低压风机性能的分析对比,在运行的经济性方面与以前的低压风机没有什么区别,也没有多少起伏性,而相对于低压风机的性能来说,就具有非常大的发展以及创新,比如在送风的距离,比如在风量的变化幅度,比如在技术的发展状

  • 高压离心鼓风机的参数有哪些 高压离心鼓风机的参数

    参数是很多机械设置或维修上能用到的一个选项,字面上理解是可供参考的数据,但有时又不全是数据。对指定应用而言,高压风机厂家可以是赋予的常数值;在泛指时,它可以是一种变量,用来控制随其变化而变化的其他的量。简单说,参数是给我们参考的。那么高压风

  • 高压风机参数 标准规格高压风机的选择可以从哪些方面入手

    与其它机械零件相比,高压旋涡风机的规格种类较多,品种较多,因此客户在选择产品类型时会比较苦恼,因此建议客户选择合适的高压风机,可以直接将各种配置配置成可供客户使用的高压风机。那标准规格的高压风机可以从哪些方面着手?一、选择承轴型号通用。标准

  • wq系列潜水排污泵型号_WQ潜水排污泵型号参数及含义

    潜污泵从字面上就能理解是潜水式的污水泵,常见的就是WQ型潜水排污泵,全称是WQ潜水式高效无堵塞排污泵。这里给大家做一些型号含义。一、型号参数及含义。Q:潜水W:排污G:管道Y:自吸L:垂直P:不锈钢B:防爆JY:搅匀像JYWQ

  • 化工泵型号参数的意义和作用_化工泵型号参数的意义

    目前,国内厂家生产的化工泵主要包括:dkzb型不锈钢挠性泵,dby型电动隔膜泵,hkzb滑片泵,IH型化工泵,IHF型氟塑料化工泵,FSB型氟塑料化工泵,CQB化学磁力泵,IMD化工磁力泵,FZB化工自吸泵等。这些化工泵被广使用在化工、冶金

  • 如何选择消防泵的参数_怎样选择消防泵?

    消防泵是消防设施中经常使用和必不可少的组件。消防泵的正常运行在灭火过程中起着决定性的作用。那么,怎样选择消防泵?以下是给大家简要介绍选择消防泵的知识。要查看消防泵是否通过了我国强制检查,有必要查看由消防产品合格评定中心发布的近一年的强制检查