一个大的OpenAPI Specification yaml 分割成小的yaml文件
文件 一个 分割 yaml specification
2023-09-11 14:20:09 时间
前言
遵循的yaml格式是 swagger 官网的 OAS3 的说明,主要参考文章 How to split a large OpenAPI Specification into multiple files
依赖运行环境: Nodejs, jdk1.8+
在这个文章,将以经典的 PetStore 为列来讲如何将大文件分离到更小的文件中,所以也适用于你自己的定义。
正文
- 重复引用定义来自文件
paths:
/pets/{petId}:
get:
summary: Info for a specific pet
operationId: showPetById
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
type: object
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
依赖
- 通过npm安装swagger-cli, 用于将多个 yaml 文件合并为一个 yaml 文件
npm install -g swagger-cli
- 从swagger-api/swagger-codegen 的说明,下载
swagger-codegen-cli-3.0.20.jar
,我目前看到的链接是:
https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.20/swagger-codegen-cli-3.0.20.jar
后记
因为自己个人习惯将请求路径按功能模块放入到不同的yaml文件中,以方便自己维护api文档,但这样也添加了时间成本,因为需要先执行合并yaml文件的命令,然后再将执行将 yaml文件转换为swagger-ui能识别的json文件的命令
References
相关文章
- 一个感染性木马病毒分析(三)--文件的修复
- C# 执行bat批处理文件
- linux环境中,如何将一个大文件拆分成多个小文件?
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
- Aspose.Words使用教程之如何写入纯文本(TXT)文件
- PHP写一个函数,从一个标准url里取出文件的扩展名
- python模块——hashlib模块(简单文件摘要算法实现)
- 如何判断Unix系统的一个库文件是32位还是64位的
- VS Code插件开发学习笔记2-开发一个Vivado Report文件高亮的插件
- QT中拷贝一个项目的ui界面到另一个项目时Ui.h文件时Ui.h文件控件变量错乱问题解决
- C++ 如何用创建txt文件,并且写入内容(汇总)
- C# 文件内容的操作
- pg_dumpall - 抽出一个 PostgreSQL 数据库集群到脚本文件中
- 如何毫不费力地探索您的 IDX 数据集,使用 idx2numpy 库在 Python 中探索原始 MNIST 文件
- cmd实现cab文件的压缩与解压
- 【转发】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
- SpringBoot - 文件上传原理
- 浅析JavaScript如何检测文件的类型:区分文件类型的本质、关于魔数的理解、input accept文件检测存在的问题、如何检测修改后缀名后的文件类型、推荐一个文件检测JS库-file-type库及其检测原理
- Linux命令:如何将多个文件及文件夹压缩为一个压缩文件及解压 - tar命令、将一个文件移动到另一个目录下 - mv命令、删除文件夹和文件的命令 - rm命令
- PostgreSQL中如何查看一个表所对应的文件
- 键盘录入多名学生的信息: 格式:姓名,数学成绩,语文成绩,英文成绩,按总分由高到低 将学生的信息进行排列到文件里
- 批处理文件的工具(java+shell为了实现)
- jenkins配置findbugs失败---不要随便忽略警告!一个因为文件所有权引发的血案
- Mybatis xml文件中&出现报错问题:Unescaped & or nonterminated character/entity reference