将 Swagger Java 对象转换为 JSON/YAML

问题描述 投票:0回答:1

我需要阅读、修改并重新生成 JSON/YAML swagger 文件文档。我已经使用 Swagger Parser 反序列化了一个 JSON 文件,并且有一个 Swagger Java 对象,其中原始 JSON 数据已正确映射。

现在,我需要修改 Swagger Java 对象,并使用完成的修改生成 JSON 或 YAML 文件。

有办法做到吗?

总结:

File fileJSON = FileUtils.toFile(getClass().getResource("example-api-rest.json"));

Swagger swagger = new SwaggerParser().read(fileJSON.getPath()); //Got it!
...
swagger.editWhatever
...
//Here I need to generate the JSON or YAML again

谢谢。

java json yaml swagger
1个回答
15
投票

生成 OpenAPI 2.0 JSON:

import io.swagger.util.Json;

String jsonOutput = Json.pretty(swagger);

生成 YAML:

import io.swagger.util.Yaml;

String yamlOutput = Yaml.pretty().writeValueAsString(swagger);

io.swagger.util
包是Swagger Core的一部分,它是Swagger Parser的依赖项之一。


如果您的规范是 OpenAPI 3.0,请使用

Json.pretty()
包中的
Yaml.pretty()
io.swagger.v3.core.util

如果是 OpenAPI 3.1,请使用

Json31.pretty()
中的
Yaml31.pretty()
io.swagger.v3.core.util
请参阅此处了解 OAS 3.1 与 3.0(反)序列化的差异。

© www.soinside.com 2019 - 2024. All rights reserved.