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