Swagger的使用(必会)

Swagger是一个用于描述和记录RESTful API的项目

1. 简介

​ 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。
​ 前端和后端的唯一联系,变成了API接口;API文档成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。

2. Swagger Editor 安装与启动

  1. 下载

  2. 解压 swagger-editor

  3. 全局安装全局安装http-server(http-server是一个简单的零配置命令行http服务器) ,需本地有Node.js环境

    npm install ‐g http‐server
    
  4. 启动swagger-editor,在swagger-editor文件夹的父目录中:

    http‐server swagger‐editor
    
  5. 打开浏览器访问: http://localhost:8080
    在这里插入图片描述

  6. 导出文件

    File -> DownLoad Yaml

3. Swagger的语法规则

更多详情见 官方文档

3.1 字段类型与格式定义
普通的名字typeformat说明
integerintegerint32签署了32位
longintegerint64签署了64位
floatnumberfloat
doublenumberdouble
stringstring
bytestringbytebase64编码的字符
binarystringbinary任何的八位字节序列
booleanboolean
datestringdate所定义的full-date- - - - - -RFC3339
dateTimestringdate-time所定义的date-time- - - - - -RFC3339
passwordstringpassword用来提示用户界面输入需要模糊。
3.2 固定字段
字段名类型描述
swaggerstring必需的。使用指定的规范版本。
infoInfo Object必需的。提供元数据API。 可以使用元数据的客户如果需要。
hoststring主机名或ip服务API。
basePathstringAPI的基本路径,这是相对的host。 如果不包括,API是直属host。 必须从价值领先斜杠(/)。 的basePath不支持路径模板。
schemes[string]API的传输协议。 值必须从列表中:“http”,“https”,“ws”,“wss”。 如果schemes不包括,默认使用计划是用于访问大摇大摆的定义本身。
consumes[string]一个MIME类型的api可以使用列表。 这是可以覆盖全球所有API,但在特定的API调用。 值必须是所描述的Mime类型。
produces[string]MIME类型的api可以产生的列表。 这是可以覆盖全球所有API,但在特定的API调用。 值必须是所描述的Mime类型。
paths路径对象必需的。可用的路径和操作的API。
definitions定义对象一个对象数据类型生产和使用操作。
parameters参数定义对象一个对象来保存参数,可以使用在操作。 这个属性不为所有操作定义全局参数。
responses反应定义对象一个对象响应,可以跨操作使用。 这个属性不为所有操作定义全球响应。
securityDefinitions安全定义对象安全方案定义规范,可以使用。
security(安全需求对]声明的安全计划申请API作为一个整体。 值的列表描述替代安全方案,可以使用(也就是说,有一个逻辑或安全需求之间)。 个人业务可以覆盖这个定义。
tags(标签对]的列表标签使用的规范与额外的元数据。 标签的顺序可以用来反思他们的订单的解析工具。 并不是所有使用的标签操作对象必须声明。 声明的标签不可能组织随机或基于工具的逻辑。 列表中的每个标记名称必须是唯一的。
externalDocs外部文档对象额外的外部文档。
tags(string]的标签列表API文档控制。 标签可用于逻辑分组业务的资源或任何其他限定符。
summarystring什么操作的一个简短的总结。 最大swagger-ui可读性,这一领域应小于120个字符。
descriptionstring详细解释操作的行为。GFM语法可用于富文本表示。
externalDocs外部文档对象额外的外部文档操作。
operationIdstring独特的字符串用于识别操作。 id必须是唯一的在所有业务中所描述的API。 工具和库可以使用operationId来唯一地标识一个操作,因此,建议遵循通用的编程的命名约定。
consumes[string]MIME类型的列表操作可以使用。 这将覆盖consumes定义在炫耀的对象。 空值可用于全球定义清楚。 值必须是所描述的Mime类型。
produces[string]MIME类型的列表操作可以产生。 这将覆盖produces定义在炫耀的对象。 空值可用于全球定义清楚。 值必须是所描述的Mime类型。
parameters(参数对象 |引用对象]适用于该操作的参数列表。 如果已经定义了一个参数道路项目新定义将覆盖它,但不能删除它。 必须不包含重复的参数列表。 一个独特的参数定义的组合的名字和位置。 可以使用列表引用对象链接到参数的定义的对象的参数。 可以有一个“身体”参数。
responses响应对象必需的。返回的列表可能的反应,因为他们执行这个操作。
schemes[string]传输协议的操作。 值必须从列表中:“http”,“https”,“ws”,“wss”。 的值将覆盖的对象schemes定义。
deprecatedboolean声明该操作被弃用。 使用声明的操作应该没有。 默认值是false。
security(安全需求对]声明的安全计划申请这个操作。 值的列表描述替代安全方案,可以使用(也就是说,有一个逻辑或安全需求之间)。 这个定义覆盖任何宣布顶级security。 删除一个顶级安全声明,可以使用一个空数组。

4. SwaggerUI

SwaggerUI是用来展示Swagger文档的界面

安装步骤:

  1. 在本地安装 Nginx

  2. 下载 SwaggerUI 源码: 下载

  3. 解压swagger-ui-master.zip,将dist文件夹下的全部文件拷贝至 nginx的html目录

  4. 启动nginx

    ​ 可能存在端口被占用,可在conf/nginx.conf下更改默认端口(80)

    start nginx
    
  5. 浏览器打开页面 http://localhost即可看到文档页面在这里插入图片描述

  6. 我们将编写好的yml文件也拷贝至nginx的html目录,这样我们就可以加载我们的swagger文档了
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值