swagger mock文档服务器,通过 Swagger 定义自动生成 Mock 数据

2023-11-07

我最近的在做的项目是一个前后端分离的项目,前后端由不同的团队分别开发,并且前端的进度经常领先后端。这就意味着,当前端在开发一个新功能时,API 可能还没有准备好。不过,我们会先和后端先商议好 API Schema,然后使用 Mock 数据进行开发。

但问题也随之而来,定义 Mock 数据并配置 mock server 真的太浪费时间了!我真的非常讨厌这种没有任何技术含量的「苦力活」。所以,只好想办法让生成 Mock 数据的过程「自动化」。那么,从哪里生成这些 Mock 数据呢?突然想到了开发时使用的 Swagger UI,它提供的 Swagger JSON 准确地定义了所有的 API Schema。因此,我们可以通过 Swagger JSON 去自动生成 Mock 数据。

本篇文章会介绍如何通过 Swagger 定义去生成 Mock 数据以及 Mock Server 的配置。主要内容包括:

Swagger 简介

通过 Swagger JSON 生成 Mock 数据

处理 Swagger JSON

生成 Mock 数据

生成 Mock Server 配置

本文所有代码都在这个仓库 swagger-faker。

Swagger 简介

在介绍 Swagger 之前,你需要先了解一下 OpenAPI 规范。因为 Swagger 定义是基于 OpenAPI 规范的。

OpenAPI 规范(OAS)为 RESTful API 定义了一个与语言无关的标准接口,允许人和计算机发现和理解服务的功能,而无需通过访问源代码、文档或开发者工具。

OpenAPI 定义大致如下:

{

"swagger": "2.0",

"info": {},

"host": "petstore.swagger.io",

"basePath": "/v2",

"tags": [],

"schemes": [],

"paths": {

"/user/logout": {

"get": {

"tags": [

"user"

],

"summary

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

swagger mock文档服务器,通过 Swagger 定义自动生成 Mock 数据 的相关文章

  • 2022亚马逊云科技中国峰会召开 宣布多项举措赋能客户数字化探索与创新

    2022年10月13日 以 自由构建 探索无限 为主题的亚马逊云科技中国峰会于今天在线上召开 在本次为期2天的峰会上 亚马逊云科技发布了云计算技术趋势展望 宣布 连中外 襄百业 携伙伴 促绿色 四大战略举措 进一步利用亚马逊云科技全球优势和
  • [思考进阶]03 每一个成年人都应该掌握的学习技巧

    除了要提升自己的技术能力 思维的学习和成长也非常非常重要 特推出此 思考进阶 系列 进行刻意练习 从而提升自己的认知 这世间有两种人 一种被誉为天之骄子 拥有那种天才的创造能力 这种人极少 另外一种是平凡的普通人 努力地想成功 这种人很多
  • C语言:输出一组数的最大值与最小值

    C语言 输出一组数中的最大值或最小值 如果要输出多个数的最大值只需更改数组大小与循环的限制条件即可 这里以三个数为例 最大值 include
  • [STM32] 关于USART接收中断的BUG和注意事项

    今天在使用USART模块 遇到了一些问题并解决了 于是发贴共享 问题描述 在使用USART做串口通讯时 我只把接收中断打开 并设置抢占优先级为最低一个级别 而接收中断上一个优先级处理事情比较多 可能占用了2ms时间 当我使用9600波特率往
  • 【Jupyter】【Colab】【AutoGluon】测试

    环境 pip install autogluon 测试代码 AutoGluon官网 from autogluon tabular import TabularDataset TabularPredictor train data Tabul
  • 第七章 缺失数据

    文章目录 一 缺失值的统计和删除 1 缺失信息的统计 2 缺失信息的删除 二 缺失值的填充和插值 1 利用fillna进行填充 练一练 END 2 插值函数 NOTE 关于polynomial和spline插值的注意事项 END 三 Nul
  • 用canvas画出可爱的哆啦A梦

    用canvas画出可爱的哆啦A梦 本文就介绍了如何用canvas案例画出哆啦A梦的基础内容 提示 以下是本篇文章正文内容 下面案例可供参考 一 canvas是什么 HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图
  • seata1.3.0 系列学习(二、nacos+seata使用)

    上篇文章讲了如何安装seata 这篇文章主要讲如何使用 分布讲解什么情况回滚 不回滚 一 新建父级maven pom xml文件导入
  • 数据结构-线性表(链表)(c++版)

    目录 1 单链表的基本概念与特点 2 单链表的特点 3 单链表的结构定义及其方法的实现 3 1 单链表结构的定义 3 2 方法的基本实现 3 3 单链表的插入删除操作讲解 3 4 单链表的删除算法 3 5 单链表的顺序访问与尾递归 3 6
  • c++ string 转 char * 出现乱码 内存共用问题

    系统 unbuntu16 04 IDE vscode 一 出现乱码 std string str Hello Word char p1 str c str 出现乱码 char p2 str data 出现乱码 二 出现内存共用 后面的字符串
  • C++的简单FTP客户端实现(二)编程

    基本FTP客户端 QT C 实现的FTP下载客户端 环境说明 FTP服务器 CentOS7 8 vsFTPD 3 0 2 安装设置见博文 CentOS vsftpd设置 客户端 win10 QT 5 15 2 实现的不是一个功能全的FTP客
  • H.264学习笔记3——帧间预测

    帧间预测主要包括运动估计 运动搜索方法 运动估计准则 亚像素插值和运动矢量估计 和运动补偿 对于H 264 是对16x16的亮度块和8x8的色度块进行帧间预测编码 A 树状结构分块 H 264的宏块 对于16x16的亮度宏块 可以分成16x
  • 【独立开发者er Cocos2d-x实战 011】Cocos2dx 3.x命令行生成APK详解

    Cocos2d x 3 6项目打包生成apk安卓应用文件 搭建安卓环境的步骤有点繁琐 但搭建一次之后 以后就会非常快捷 步骤如下 一 下载安卓环境 搭建Android环境需要用到Android SDK NDK Ant和JDK 下载Andro
  • linux中断处理详解

    与中断有关的数据结构 转载自 http edsionte com techblog archives 1539 1 概述 上文中我们通过一个简单的例子分析了一个中断程序的基本结构 可以看到 中断处理程序在处理中断时起到了关键作用 也是一个中
  • 【2023年电赛国一必备】D题报告模板--可直接使用

    任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 部分 摘要 本实验旨在设计和制作一种装置 用于对信号发生器输出的信号进行调制方式识别与参数估计 该装置能够识别和显示信
  • SpringCloud基础知识

    一 什么是微服务架构 微服务 一词源于Martin Fowler的名为Microservices 的博文 可以在他的官方博客上找到 简单地说 微服务是系统架构上的一种设计风格 它的主旨是将一个原本独立的系统拆分成多个小型服务 这些小型服务都
  • telnet远程登陆程序

  • 集合引用类型篇(一)

    ECMAScript中最常用的集合引用类型就是Object和Array 尤其是Array提供的很多方法 可以更方便的操纵数据 为我们提供快速处理数据的能力 Object 显示创建Object的实例对象有两种方法 一种是new Object
  • java开发——Cloneable接口、clone()方法和深浅拷贝

    1 实现Cloneable接口表明该类的对象是允许克隆的 2 允许克隆的意思是 可以调用clone 方法 3 深拷贝还是浅拷贝 取决于如何重写Object的clone 方法 4 原对象和克隆对象的关系 深拷贝 阳关道和独木桥 浅拷贝 藕断丝

随机推荐

  • java人脸识别功能实现

    1 首先是用的百度AI人脸识别接口 去百度申请以下参数作为预备 2 直接导入写好的人脸工具类对人脸进行注册 package cn abtu config import com baidu aip face AipFace import or
  • 基于Springboot+mysql+mybatis-plus+swagger+redis+rabbimq+Springcloud+eureka+feign(http)+Apollo的员工管理系统(1

    基于Springboot mysql mybatis plus swagger redis rabbimq Springcloud eureka feign http Apollo的员工管理系统 1 本系统基于Springboot集成各种组
  • SpringBoot+Kafka+ELK 完成海量日志收集

    整体流程大概如下 服务器准备 在这先列出各服务器节点 方便同学们在下文中对照节点查看相应内容 SpringBoot项目准备 引入log4j2替换SpringBoot默认log demo项目结构如下 pom
  • 字典序最小回文串

    字典序最小回文串 题目解读 给你一个由 小写英文字母 组成的字符串 s 你可以对其执行一些操作 在一步操作中 你可以用其他小写英文字母 替换 s 中的一个字符 请你执行 尽可能少的操作 使 s 变成一个 回文串 如果执行 最少 操作次数的方
  • odoo13搭建-odoo13源码在windows系统的搭建详细过程

    最近因为要用odoo 所以记录一下在windows系统下搭建odoo的过程 odoo使用的是github下载odoo13版本 资源信息 提前需要的准备的安装包和源码如下 odoo13源码 odoo13源码下载 https github co
  • 带通滤波器介数如何确定

    你在MATLAB界面左下角的Start里面选择filter design然后填入你的参数 MATLAB会自动帮你算出你设计的滤波器的阶数
  • 福禄克测试中的电阻参数:LOOP、PAIR UBL、P2P UBL代表什么?

    福禄克测试中的电阻参数 LOOP PAIR UBL P2P UBL分别代表什么 LOOP 直流环路电阻 PAIR UBL 线对电阻差 P2P UBL 线对电阻差的差 IEEE 标准 802 3 2012 规定导线之间的直流电阻 LOOP 不
  • template_event

    if f ES TEMPLATE DIR then echo generate event template curl XPUT http localhost 9200 template template event d cat ES TE
  • 单链表翻转--Java实现

    问题描述 将单链表的顺序翻转过来 代码实现 定义链表节点 static class ListNode int val ListNode next public ListNode int val ListNode next this val
  • 网络安全(黑客)自学路线笔记

    一 什么是黑客 黑客泛指IT技术主攻渗透窃取攻击技术的电脑高手 现阶段黑客所需要掌握的远远不止这些 二 为什么要学习黑客技术 其实 网络信息空间安全已经成为海陆空之外的第四大战场 除了国与国之间的博弈 国内企业与企业间也有显著的明争暗斗现象
  • 分库分表后的查询解决方案

    在分库分表之后 每个表的数据是分散存储在不同的数据库中的 因此 在查询数据时需要考虑如何查询跨多个数据库和表的数据 常见的解决方案有以下几种 1 应用层分页 将查询条件分发到各个数据库 然后在应用层合并结果集并进行分页 这种方案可以实现比较
  • Redux 是什么?怎么用?

    第1 章 Redux 介绍 本章涵盖 定义Redux 了解Flux 与Redux 之间的差异 使用Redux 和React 介绍action reducer 和store 学习何时使用Redux 在2018 年 如果你进入任何一个React
  • psql命令

    psql备份数据库 su postgres pg dump d map gt map sql 导出sql psql d map f map sql 导入sql psql导出数据到文件 COPY SELECT gid name FROM l
  • java强引用、软引用、弱引用、虚引用

    前言概述 在JDK1 2以前的版本中 当一个对象不被任何变量引用 那么程序就无法再使用这个对象 这就像在日常生活中 从商店购买了某样物品后 如果有用 就一直保留它 否则就把它扔到垃圾箱 由清洁工人收走 一般说来 如果物品已经被扔到垃圾箱 想
  • 【群智能算法】一种改进的蜣螂优化算法IDBO[2]【Matlab代码#18】

    文章目录 获取资源 请见文章第5节 资源获取 1 原始DBO算法 2 改进后的IDBO算法 2 1 Bernoulli混沌映射种群初始化 2 2 自适应因子 2 3 Levy飞行策略 2 4 动态权重系数 3 部分代码展示 4 效果图展示
  • Spring 事件发布机制

    目录 事件驱动 使用事件机制 Java 事件使用 Spring 事件使用 使用 Aware 不使用 Aware Spring 事件发布流程及源码解析 ApplicationEvent ApplicationListener 监听者注册 Ap
  • node常见面试题库

    node常见面试题库 1 检测系统中node版本号的指令是 node v 2 如何退出node执行环境 REPL环境 ctrl c c 3 node如何创建服务器 写出代码 var http require http var server
  • 合理设置的MTU值,解决“部分网站打不开”“上网速度慢”等问题,并且可以适当提升上网速度

    一般来讲 设计好本机的MTU值 可以解决 部分网站打不开 上网速度慢 的情况 但是如果你的共享主机或路由器的MTU设置有问题 有时问题仍然存或 或者出现网速过慢的情况 合理的设置路由器与本机的MTU值 就可以完全解决上述问题 使上网速度达到
  • AndroidJavaClass 和AndroidJavaClass

    很明显 AndroidJavaClass 就代表一个Java类 例如 com henry util 有一个静态方法 love 可以这样new AndroidJavaClass com henry util callstatic love 就
  • swagger mock文档服务器,通过 Swagger 定义自动生成 Mock 数据

    我最近的在做的项目是一个前后端分离的项目 前后端由不同的团队分别开发 并且前端的进度经常领先后端 这就意味着 当前端在开发一个新功能时 API 可能还没有准备好 不过 我们会先和后端先商议好 API Schema 然后使用 Mock 数据进