Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Open API is the most popular approach to design, build and document REST APIs. It does not depend on a particular language. The contract provided by the Swagger (Open API implementation) guarantees that the REST server is compatible with the specification. The specification is the single source of truth for consumers (web interface, CLI, third party integrations). 

The current implementation does not support auto-generation for the API specification. The main value of this improvement is to add the possibility to generate the API specification from code.

Description

Code-first approach

...

Info
titleJava code style changes

IMPORTANT: Additional dependencies here mean that Java Code Style Best Practices (3d party libraries) are going to be adjusted: Micrionaut for REST, Swagger for Open API annotations, and Micronaut serde for REST serialization.


Artifact management

The API specification is a new artifact that will be introduced during the build time. This file should be placed in the source code under modules/ignite-rest/openapi/openapi.yaml path.

Versioning

Changes in API should not introduce breaking changes for the clients and the API version won't change. In case the breaking change is necessary, then new openapi-v2.yaml should be generated. 

Info
titleopenapi.yaml file versionning

Note that an Open API spec has a version field itself. This field is the specification version but not the API version.


Modular architecture support

...