Vom Design
bis zur Implementierung
einer API
mit OAD und Roaster
Juri Leino
e-editiones.org | exist-db.org
InfoDiText 2026
Was ist eine API überhaupt?
Mensch
Maschine
URL
Funktion
Was ist überhaupt eine API?
Ein Vertrag zwischen Server und Client
Eine ganz kurze Geschichte
von API Beschreibungssprachen
OpenApi
RAML
GraphQL SDL
WSDL
gRPC
AsyncAPI
Postman collections
WADL
WIDL
Swagger
OData
OpenApi
Implementation First
Server implementieren
Dokumentation generieren
Client implementieren
Problem finden
Gehe zurück
API designen
Design First
Text
Server und Client
nach Spezifikation implementieren
find problem
API ist valide?
Versionierung
API
Client
Server
Beschreibungs-sprache
Tools
Versioning
API
Client
Server
API-description language
Tools
Breaking Changes
als Pfadpräfix /v1/
einer API
Versionierung
über eine Subdomain v1.my.service
in einem HTTP header
GET
REST
PUT
POST
PATCH
OPTIONS
HEAD
DELETE
Roaster
Deklaratives Routing auf Basis der API Beschreibung
Route Handler
OpenAPI
{
"operationID": "api:list-pets",
⋮
}declare
function api:list-pets (
$request as map
) {
[ "cats", "dogs" ]
};Route Handler
OpenAPI
{
"operationID": "api:list-pets",
"parameters": [ {
"in" : "query",
"required" : false,
"name" : "sort",
"schema" : {
"type" : "string"
}
} ]
}
declare
function api:list-pets (
$request as map
) {
render:list(
$request?parameters?sort
)
};Cookies und mehr
Authentifizierung
x-allowed-groups
x-allowed-user
Cookies und mehr
Authentifizierung
OAD
OAD
Danksagung
DEMO
Die Zukunft
Hackability
Scaffolding
Copy of Design First APIs
By Juri Leino
Copy of Design First APIs
- 0