reedelk-openapi

Reedelk OpenAPI V3 Serializer / Deserializer

License

License

GroupId

GroupId

de.codecentric.reedelk
ArtifactId

ArtifactId

reedelk-openapi
Last Version

Last Version

2.1.0-alpha
Release Date

Release Date

Type

Type

jar
Description

Description

reedelk-openapi
Reedelk OpenAPI V3 Serializer / Deserializer
Project URL

Project URL

https://github.com/codecentric/reedelk-openapi
Source Code Management

Source Code Management

https://github.com/codecentric/reedelk-openapi/tree/master

Download reedelk-openapi

How to add to project

<!-- https://jarcasting.com/artifacts/de.codecentric.reedelk/reedelk-openapi/ -->
<dependency>
    <groupId>de.codecentric.reedelk</groupId>
    <artifactId>reedelk-openapi</artifactId>
    <version>2.1.0-alpha</version>
</dependency>
// https://jarcasting.com/artifacts/de.codecentric.reedelk/reedelk-openapi/
implementation 'de.codecentric.reedelk:reedelk-openapi:2.1.0-alpha'
// https://jarcasting.com/artifacts/de.codecentric.reedelk/reedelk-openapi/
implementation ("de.codecentric.reedelk:reedelk-openapi:2.1.0-alpha")
'de.codecentric.reedelk:reedelk-openapi:jar:2.1.0-alpha'
<dependency org="de.codecentric.reedelk" name="reedelk-openapi" rev="2.1.0-alpha">
  <artifact name="reedelk-openapi" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.codecentric.reedelk', module='reedelk-openapi', version='2.1.0-alpha')
)
libraryDependencies += "de.codecentric.reedelk" % "reedelk-openapi" % "2.1.0-alpha"
[de.codecentric.reedelk/reedelk-openapi "2.1.0-alpha"]

Dependencies

compile (2)

Group / Artifact Type Version
org.yaml : snakeyaml jar 1.26
org.json : json jar 20190722

test (3)

Group / Artifact Type Version
org.mockito : mockito-junit-jupiter jar 2.23.0
org.skyscreamer : jsonassert jar 1.5.0
org.assertj : assertj-core jar 3.11.1

Project Modules

There are no modules declared in this project.

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:

<repositories>
    <repository>
        <id>reedelk-repository</id>
        <name>Reedelk Repository</name>
        <url>http://repository.reedelk.com/release/</url>
    </repository>
</repositories>

Add the following dependency to your pom.xml file:

<dependency>
    <groupId>com.reedelk</groupId>
    <artifactId>reedelk-openapi</artifactId>
    <version>X.Y.Z</version>
</dependency>

Usage

Serialize

To JSON or YAML:

InfoObject infoModel = new InfoObject();
infoModel.setDescription("This is a sample API.");
infoModel.setVersion("1.0.2");

OpenApiObject openApiModel = new OpenApiObject();
openApiModel.setInfo(info);

// to JSON string
String openApiAsJson = OpenApi.toJson(openApiModel);

// to YAML string
String openApiAsYaml = OpenApi.toYaml(openApiModel);

Deserialize

From JSON or YAML:

// from JSON string
String openApiAsJson = "{"openapi": "3.0.3","info": {"title": "API","version": "v1" }}";
OpenApiObject openApiModel = OpenApi.from(openApiAsJson);
InfoObject infoModel = actual.getInfo();
...

// from YAML string
String openApiAsYaml = "openapi: 3.0.0
                        info:
                          version: 1.0.2
                          title: Petstore API";
OpenApiObject openApiModel = OpenApi.from(openApiAsYaml);
InfoObject infoModel = actual.getInfo();
...

Contribute

de.codecentric.reedelk

codecentric AG

Versions

Version
2.1.0-alpha
2.0.0