博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swagger.yaml转换为swagger.json文件
阅读量:5251 次
发布时间:2019-06-14

本文共 1641 字,大约阅读时间需要 5 分钟。

方法一

官方的 (在线直接使用,就是访问的有点慢)或者将 下载到本地然后运行起来

316459-20190728161536484-1407481923.jpg

  1. 在本地使用编辑器打开一个 swagger.yaml或者swagger.json文件,全选(Ctrl + a键) swagger.yaml文件的内容之后复制(Ctrl + c), 粘贴(Ctrl + v)到 swagger-editor 左边的编辑区域(这只是我个人习惯的做法,当然可以使用编辑器引入文件的方式来导入文件的内容到swagger Editor中)
  2. 通过菜单"File" -> "Convert and save as JSON" 来下载 swagger.json 文件

316459-20190728160622237-1657334199.jpg

方法二

使用 swagger提供的 swagger-codegen将swagger.yaml转换为swagger.json文件

swagger-codegen-cli 2.2.1版本运行生成命令会报,如果 operationId 没有定义为空,会提示

Exception: null    at io.swagger.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:796)

使用 2.3.1版本,在path中的operationId为空,会自动生成operationId

如:

[main] WARN io.swagger.codegen.DefaultCodegen - Empty operationId found for path: post /user/login. Renamed to auto-generated operationId: userLoginPost

最后生成 swagger.json文件,但是我windows 7 下生成的swagger.json 文件编码是GB2312,在 swagger-ui中显示的中文会乱码

windows下运行,需要加上set JAVA_OPTS=-Dfile.encoding=UTF-8,

java -jar swagger-codegen-cli-2.3.1.jar generate  -i swagger.yaml -l swagger -o tests

我将 swagger-codegen-cli-2.3.1.jar 放入到 opt中:

java -jar /opt/swagger-codegen-cli-2.3.1.jar generate -i swagger.yaml -l swagger

Linux下生成的swagger.json文件编码(Encoding)是 UTF-8正常

在Jenkins中,因为我项目中的 swagger的yaml是分开的,所以需要借助其它工具进行合并 其它的yaml文件为一个大的 swagger.yaml,工具链接

目前只用到 jenkins 通过 Publish over ssh插件进行自动部署,运行的案列:

# 来自Jenkins Publish over ssh command的内容cd /var/www/html/testapi # 进入 testapi 目录中/usr/src/node-v8.11.1-linux-x64/bin/swagger-merger -i ./yamlmerge/main.yaml -o ./yamlmerge/swagger.yaml # 合并yaml文件java -jar /opt/swagger-codegen-cli-2.3.1.jar generate -i yamlmerge/swagger.yaml -l swagger -o public/api # 将swagger.yaml 转换为swagger.json 并输出(放)到 public/api 目录中

转载于:https://www.cnblogs.com/fsong/p/11259243.html

你可能感兴趣的文章
$_POST和$GLOBALS['HTTP_RAW_POST_DATA'] 的区别
查看>>
类和结构
查看>>
遍历文件夹下所有dll的类
查看>>
Centos 7.6 部署 Jumpserver 1.5.0
查看>>
CSS3选择器(二)之属性选择器
查看>>
[转]Doing more with Outlook filter and SQL DASL syntax
查看>>
[转]事务(ADO.NET)
查看>>
[转]JS跨域总结
查看>>
c# 后台生成微信小程序带参数二维码
查看>>
python所有的魔术方法
查看>>
操作系统基础详解
查看>>
知识体系整理查漏补缺
查看>>
iOS语法糖 简单却不那么简单
查看>>
滑动窗口的最大值(队列的最大值)
查看>>
C语言 · 素数判断
查看>>
CentOS6.8部署MongoDB集群及支持auth认证
查看>>
给JFinal添加 Sqlite 数据库支持
查看>>
[转] Gitlab 8.x runner安装与配置
查看>>
asp.net mvc(2013-4-22 )——准备入门
查看>>
shell脚本编程笔记
查看>>