zoukankan      html  css  js  c++  java
  • swagger.yaml转换为swagger.json文件

    方法一

    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 -Dfile.encoding=utf-8 -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 目录中
    
  • 相关阅读:
    matlab绘制椭圆 ezplot
    matlab绘制函数 y=ln(1+x)
    matlab绘制函数 y=e^(x)
    matlab绘制函数
    matlab绘制函数
    matlab绘制函数
    常用求导公式复习
    积分变换
    复变函数
    概率论与数理统计目录
  • 原文地址:https://www.cnblogs.com/fsong/p/11259243.html
Copyright © 2011-2022 走看看