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

Communication options

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.

Standard

HAL - Hypermedia api langauge

HAL really is just a document format for a hypermedia API, like HTML is for hypertext. It doesn’t tell you how to express your domain model, and doesn’t really tell you how to use HAL to submit changes.

JSON:API

Whereas JSON API is almost like an “ORM over HTTP”, HAL does a lot less for you though, so it’s not really an apples-to-apples type of comparison.

HAL really is just a document format for a hypermedia API, like HTML is for hypertext. It doesn’t tell you how to express your domain model, and doesn’t really tell you how to use HAL to submit changes.

Schema

JSON Schema

? http://json-schema.org/

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 UIVisualization of the SWAGGER API
Swagger EditorCreation 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.

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