方法一

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. NIO 源码分析(01) NIO 最简用法

    目录 一.服务端 二.客户端 NIO 源码分析(01) NIO 最简用法 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) J ...

  2. 拓展KMP求回文串

    题目:hdu3613: 题意:有26字母对应的价值,然后给出以个串,把它分成两段字串,如果字串是回文串,串的价值就是每个字符和,不是就为0.求最大价值. 博客 分析:拓展KMP的应用求回文字串. #i ...

  3. jsk

    题目描述 码队的女朋友非常喜欢玩某款手游,她想让码队带他上分.但是码队可能不会带青铜段位的女朋友上分,因为码队的段位太高(已经到达王者),恐怕不能和他的女朋友匹配游戏. 码队的女朋友有些失落,她希望能 ...

  4. JQuery日记6.7 Javascript异步模型(二)

    异步模型看起来非常美,但事实上它也是有天生缺陷的.看以下代码 try { setTimeout( function(){ throw new Error( '你抓不到我的!' ); }, 100); ...

  5. 自学Oracle心得

    基本术语: global name         全局数据库名 service name        服务名 SID                    实例名 常用命令: 1.       s ...

  6. cdn 的配置及原理

    CDN概况 CDN的全称是Content Delivery Network,即内容分发网络. CND加速主要是加速静态资源,如网站上面上传的图片.媒体,以及引入的一些Js.css等文件. CND加速需 ...

  7. Java处理图片工具类

    import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  8. H5调用百度地图导航

    template <div class="map"> <div class="content_flex"><img src=&qu ...

  9. QT 环境变量配置

    //注意每个人的习惯不一样 在系统变量中新建: { QT = C:\Qt\Qt5.13.1\5.13.1 QT_TOOL = C:\Qt\Qt5.13.1\Tools } 然后在path 中加入 { ...

  10. 经典换根dp——hdu2196

    给定一棵边权树,求距离每个点最远的点,输出这个距离 #include<bits/stdc++.h> using namespace std; #define N 10005 ]; int ...