繁体   English   中英

使用 java/spring boot 将 openAPI 规范转换为 Postman 集合

[英]convert openAPI specification to a Postman collection using java/spring boot

我正在尝试使用 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 中,您可以将节点脚本作为 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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM