api
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| api [2019/03/20 16:20] – skipidar | api [2023/12/01 21:27] (current) – skipidar | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| The API design tooling. | The API design tooling. | ||
| + | |||
| + | JSON API, OpenAPI and JSON Schema Working in Harmony | ||
| + | https:// | ||
| + | |||
| + | |||
| + | ==== Communication options ===== | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | ==== IDEA ==== | ||
| + | |||
| + | === Graphql API === | ||
| + | Get the data by describing it https:// | ||
| + | |||
| + | |||
| + | === 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: | ||
| + | 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:// | ||
| + | |||
| + | === 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:// | ||
| + | |||
| + | |||
| + | == 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 ==== | ||
| - | ==== Declaration ==== | ||
| === Spring HATEOAS === | === Spring HATEOAS === | ||
| Line 25: | Line 80: | ||
| It can be imported to SWAGGER form | It can be imported to SWAGGER form | ||
| - | === 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:// | ||
| + | === Spring Katharsis.io === | ||
| + | The lib, helping to implement an API, which is conform to Json:API. | ||
| - | == Swagger Tools for SWAGGER | + | * https://dzone.com/ |
| - | + | | |
| - | 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| | + | |
| - | + | ||
| - | + | ||
| - | === Graphql API === | + | |
| - | Get the data by describing it https://graphql.org/ | + | |
| + | * There are also libs, which generate a JSON:API conform API from Resources and Data Access Objects. E.g. https:// | ||
| + | * There is a detailed description of the API structure, separated from the implementation: | ||
| + | * There is a JSON Schema, helping to validate our APIs automagically E.g. https:// | ||
api.1553098816.txt.gz · Last modified: (external edit)
