项目作者: codecentric

项目描述 :
OpenAPI v3 JSON/YAML serializer/deserializer
高级语言: Java
项目地址: git://github.com/codecentric/reedelk-openapi.git
创建时间: 2020-07-28T08:25:55Z
项目社区:https://github.com/codecentric/reedelk-openapi

开源协议:Apache License 2.0

下载


Reedelk OpenAPI v3 serializer / deserializer

License
Twitter

This project refers to the OpenAPI Specification project from the OpenAPI initiative.

Overview

The Reedelk OpenAPI v3.x serializer/deserializer library is a lightweight library to serialize/deserialize OpenAPI
v3.x model to/from JSON and to/from YAML.

The library uses only JSON-java (org.json) and
SnakeYAML as dependencies making it the perfect choice if you are just
looking for a very lightweight solution to serialize/deserialize OpenAPI v3.x definitions.

Features

  • Serialize OpenAPI v3.x model to JSON
  • Serialize OpenAPI v3.x model to YAML
  • Deserialize OpenAPI v3.x model from JSON
  • Deserialize OpenAPI v3.x model from YAML

Maven

Add the Reedelk Repository to your pom.xml:

  1. <repositories>
  2. <repository>
  3. <id>reedelk-repository</id>
  4. <name>Reedelk Repository</name>
  5. <url>http://repository.reedelk.com/release/</url>
  6. </repository>
  7. </repositories>

Add the following dependency to your pom.xml file:

  1. <dependency>
  2. <groupId>com.reedelk</groupId>
  3. <artifactId>reedelk-openapi</artifactId>
  4. <version>X.Y.Z</version>
  5. </dependency>

Usage

Serialize

To JSON or YAML:

  1. InfoObject infoModel = new InfoObject();
  2. infoModel.setDescription("This is a sample API.");
  3. infoModel.setVersion("1.0.2");
  4. OpenApiObject openApiModel = new OpenApiObject();
  5. openApiModel.setInfo(info);
  6. // to JSON string
  7. String openApiAsJson = OpenApi.toJson(openApiModel);
  8. // to YAML string
  9. String openApiAsYaml = OpenApi.toYaml(openApiModel);

Deserialize

From JSON or YAML:

  1. // from JSON string
  2. String openApiAsJson = "{"openapi": "3.0.3","info": {"title": "API","version": "v1" }}";
  3. OpenApiObject openApiModel = OpenApi.from(openApiAsJson);
  4. InfoObject infoModel = actual.getInfo();
  5. ...
  6. // from YAML string
  7. String openApiAsYaml = "openapi: 3.0.0
  8. info:
  9. version: 1.0.2
  10. title: Petstore API";
  11. OpenApiObject openApiModel = OpenApi.from(openApiAsYaml);
  12. InfoObject infoModel = actual.getInfo();
  13. ...

Contribute