Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Swagger Java Object into JSON/YAML

I need to read, modify and re-generate a JSON/YAML swagger file documentation. I have deserialized a JSON file with Swagger Parser and I have a Swagger Java Object with the original JSON data mapped correctly.

Now, I need to modify the Swagger Java object, and generate a JSON or YAML file with the done modifications.

Is there a way to do that?

Summary:

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

Thanks.

like image 284
dcalap Avatar asked Mar 23 '17 14:03

dcalap


1 Answers

To generate JSON:

import io.swagger.util.Json;

String jsonOutput = Json.pretty(swagger);

To generate YAML:

import io.swagger.util.Yaml;

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

The io.swagger.util package is part of Swagger Core, which is one of the dependencies of Swagger Parser.

like image 200
Helen Avatar answered Nov 02 '22 00:11

Helen