This is an old revision of the document!
Table of Contents
API
The API design tooling.
JSON API, OpenAPI and JSON Schema Working in Harmony https://blog.apisyouwonthate.com/json-api-openapi-and-json-schema-working-in-harmony-ad4175f4ff84
IDEA
Graphql API
Get the data by describing it https://graphql.org/
HATEOAS API
Use links and self describtive API resources, to navigate trhough teh API.
Schema
JSON Schema
Swagger / OpenAPI 3.0
Creating the API describtion in SWAGGER, using the API might be the first step to create an API. It is for sure a good medium to communicate the APIs. https://editor.swagger.io/
Swagger Tools for SWAGGER / Open API3.0 (OAS3)
The Swagger tools are now separated from the API Specification. The API Specification is in Open API 3.0. The tools still support Open API 3.0
Swagger UI | Visualization of the SWAGGER API |
Swagger Editor | Creation of the SWAGGER API |
Implementation
Spring HATEOAS
The https://spring.io/projects/spring-hateoas is the API which is capable to generate a clean HATEOAS API our of some Data Access Objects (DAOs) / Resources. The requirement is - the ability to map the backend to DAOs.
By exporting the full API
http://localhost:8095/v2/api-docs?group=full-api
and importing it via the Swagger Editor in a browser: http://editor.swagger.io
Select Paste JSON… from the File menu.
It can be imported to SWAGGER form
Spring Katharsis.io
The lib, helping to implement an API, which is conform to Json:API.
- There are also libs, which generate a JSON:API conform API from Resources and Data Access Objects. E.g. https://dzone.com/articles/json-api-using-katharsis-amp-spring-boot
- There is a detailed description of the API structure, separated from the implementation: https://jsonapi.org/ It gives me the possibility to design equally structured APIs, even when using different technologies. (Can mix up e.g. serverless implementations with e.g. Spring)
- There is a JSON Schema, helping to validate our APIs automagically E.g. https://jsonapi-validator.herokuapp.com/
Operation
SAM Framework
The AWS SAM framework is capable of deploying the serverless infrastructure on AWS
AWS API Gateway
On the AWS API Gateway the APIs can be collected, managed, vizualized.
Import:
One can Import an API in Swagger
- as a SWAGGER file in OpenAPI v2.0 or OpenAPI v3.0
- as a Cloudformation / SAM Framework describtion