方法一

swagger-editor页面

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

  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 文件

方法二

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

  1. swagger-codegen-cli 包列表目录

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,ASP.NET Core 1.0

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,工具链接swagger-merger

目前只用到 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 目录中

swagger.yaml转换为swagger.json文件的更多相关文章

  1. Python中yaml和json文件的读取和应用

    Python对yaml和json文件的读取: yaml文件读取: 首先创建一个yaml文件test.yaml import yaml   #引入包 f=open(path)  #建立Python的文件 ...

  2. Json文件转换为Excel文件!涉及读文件,时间戳转化,写文档

    一. 思路 今天接到个小任务,让把json文件转换成excel文件,按照列展开. 思路:既然json已经都已经是现成的,那直接将json文件做读操作,在通过不同的key,找到对应的信息,在存到单元格中 ...

  3. 将json文件转换为字符串

    //从给定位置读取Json文件    public   String readJson(String path){        //从给定位置获取文件        File file = new ...

  4. 读取本地json文件,并转换为dictionary

    // 读取本地JSON文件 - (NSDictionary *)readLocalFileWithName:(NSString *)name { // 获取文件路径 NSString *path = ...

  5. Swagger UI及 Swagger editor教程 API文档搭配 Node使用

    swagger ui 是一个在线文档生成和测试的利器,目前发现最好用的.为啥好用呢?打开 demo,支持API自动生成同步的在线文档些文档可用于项目内部API审核方便测试人员了解 API这些文档可作为 ...

  6. 使用jsonschema2pojo-maven-plugin 插件根据json文件生成代码

    jsonschema2pojo 是一个不错的工具,可以帮助我们快速的根据json 文件生成pojo代码,提高开发效率,以下为简单的 使用maven 插件进行代码生成 使用maven 插件配置 < ...

  7. swagger core 和 swagger ui 如何关联【窥探】

    几个片段: package io.swagger.jaxrs.listing; import io.swagger.annotations.ApiOperation; import org.apach ...

  8. 纯前端JSON文件编辑器[0]

    准备工作 参考资料: FileReader(用来获取上传文件的数据) <download>(用来设置下载文件的名称) Blob(用来存储数据的一个容器) createObjectURL(用 ...

  9. Python【8】-分析json文件

    一.本节用到的基础知识 1.逐行读取文件 for line in open('E:\Demo\python\json.txt'): print line 2.解析json字符串 Python中有一些内 ...

随机推荐

  1. 如何调用DLL中的导出类

    之前在网上一直查不到关于把类打包成dll文件的程序,今天自己写了个测试程序,供大家参考 一.生成类的dll文件 1.我是在vs2008上测试的,建立工程,在选择建立何种类型的工程的时候,勾上appli ...

  2. 【转】HTML5标签使用的常见误区

    最近组内进行 HTML5标签的学习,方法呢就是大家每人挑选几个标签,自己先去学习,然后给大家作讲解.这个过程大家还是挺有收获的.但是现在HTML5还处在草案阶 段,有些新的标签元素的解释也是经常有变化 ...

  3. 记录百度编辑器bug(在编辑框输入光标到达页面最底部时,功能区块会悬浮在页面最顶部并且与编辑框分离)

    解决方案: //加入这段CSS#edui1_toolbarbox { position: relative !important; }

  4. el-select 1.4.x版本实现2.x.x版本的reserve-keyword功能

    今天在维护以前的项目时,发现了一个小bug,其实也不算是bug,只是客户对这个控件的体验不是很满意. 我们在element 2.x.x的版本的官方文档中可以发现el-select组件的属性中比1.x. ...

  5. Avito Cool Challenge 2018 B - Farewell Party

    题目大意: 有n个人 接下来一行n个数a[i] 表示第i个人描述其他人有a[i]个的帽子跟他不一样 帽子编号为1~n 如果所有的描述都是正确的 输出possible 再输出一行b[i] 表示第i个人的 ...

  6. HTML5 Canvas知识点学习笔记

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangyibin628/article/details/30108165 canvas ① 主要作 ...

  7. 1 新增硬盘挂载home文件夹。 2 修理扇区

    一 挂载新硬盘 主机磁盘容量不够大时,想新增一颗新磁盘的时候.并将磁盘全部分割成单一分割槽,且将该分割槽挂载到/home目录,你该怎么做呢? 1  安装硬盘. 2  磁盘分区. 3 格式化磁盘 4 将 ...

  8. JS自运行函数的写法和MVVM框架数据驱动的底层逻辑

    1.JS自运行函数的写法 ( function(){ console.log(111)} )( ) !function(){ console.log(111) }() ( function(){}() ...

  9. JS自定义Array原型移除函数

    <script type="text/javascript"> //删除元素值 Array.prototype.remove = function(element){ ...

  10. bzoj1294题解

    [题意分析] 给定一张网格图,每个网格可能是普通点.特殊点或障碍点,每个特殊点有一个分值.要求选定一条只经过普通点的可重复回路,使回路内部的特殊点分值和最大. [算法分析] 引理:射线法 对于平面内任 ...