我需要阅读、修改并重新生成 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
谢谢。
生成 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(反)序列化的差异。