【问题标题】:convert openAPI specification to a Postman collection using java/spring boot使用 java/spring boot 将 openAPI 规范转换为 Postman 集合
【发布时间】:2021-02-16 21:32:46
【问题描述】:

我正在尝试使用 Spring Boot 将 OpenAPI 规范转换为邮递员集合。 那么,是否有一个库或代码段可以用来完成这项任务? 我对此进行了搜索,但没有找到。

我之前使用 npm 库完成了这项工作。我将代码段放在下面。

var Converter = require('openapi-to-postmanv2'),
  openapiData = fileReader.result;

Converter.convert({ type: 'string', data: openapiData },
  {}, (err, conversionResult) => {

    if (!conversionResult.result) {
      console.log('Could not convert', conversionResult.reason);
    }
    else {
      console.log('The collection object is: ', conversionResult.output[0].data);
    }
  }
);

来源:https://www.npmjs.com/package/openapi-to-postmanv2

我需要帮助才能使用 Spring Boot 进行此操作

【问题讨论】:

    标签: java spring-boot postman openapi file-conversion


    【解决方案1】:

    在 java 中,您可以将节点脚本作为 shell 命令运行并从中读取输出。

    1. 首先使用npm init 命令创建新的节点项目。

    2. 创建 index.js 文件并添加以下代码。我已修改您的代码以从命令行参数获取输入,而不是从文件中读取。

    var Converter = require('openapi-to-postmanv2')
    openapiData = process.argv[2]
    
    Converter.convert({ type: 'string', data: openapiData },
        {}, (err, conversionResult) => {
            if (!conversionResult.result) {
                console.log('Could not convert', conversionResult.reason);
            }
            else {
                console.log(conversionResult.output[0].data);
            }
        }
    );
    
    1. 创建 App.java 并添加以下行。
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class App {
        public static void main(String[] args) throws InterruptedException, IOException {
            String data = "YOUR_DATA_HERE";
            String command = String.format("node index.js \"%s\"", data);
            Runtime runtime = Runtime.getRuntime();
            Process pr = runtime.exec(command);
            pr.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String output = "";
            String line;
            while ((line = reader.readLine()) != null) {
                output += line;
            }
            System.out.println(output);
        }
    }
    
    1. 编译并运行它。
    javac App.java
    java App
    

    请注意,这是一个非常简约的示例。您可以使用标准错误流来读取应用程序中的错误。

    【讨论】:

      猜你喜欢
      • 2019-11-21
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 2022-10-13
      • 2010-10-15
      • 2021-01-30
      • 2019-09-20
      • 2014-04-09
      相关资源
      最近更新 更多