OpenAPI
OpenAPI beskriver HTTP-grænseflader maskinlæsbart med stier, parametre og svar. Beskrivelsen skal stemme overens med den kørende tjeneste.
At dokumentere en forståelig HTTP-API-kontrakt
OpenAPI er en standard til beskrivelse af HTTP-API’er. En OpenAPI-beskrivelse fastlægger blandt andet de tilbudte stier, operationer, parametre og svarstrukturer. Den kan repræsenteres som JSON eller YAML. Beskrivelsessproget er uafhængigt af det programmeringssprog, tjenesten er bygget i.
Et fiktivt softwarefirma planlægger GET /projects/{projectId} til sin projektportal. Beskrivelsen skal definere projectId som stiparameter; det vellykkede svar 200 skal blandt andet indeholde tekstfeltet name. Kendte fejlsvar hører også til kontrakten. Stien og felterne er vores egne designeksempler, ikke et fuldstændigt OpenAPI-dokument eller en eksisterende tjeneste.
Frontendteamet kan herudfra forstå, hvilke oplysninger det skal sende, og hvilke svar det skal håndtere. Filen alene viser dog ikke, om den kørende implementering følger kontrakten. Før overdragelse skal beskrivelsen sammenholdes med de faktiske svar, også ved fejl. Betydningen af name skal ligeledes aftales: En tekst med korrekt type forklarer ikke, hvilket navn feltet indeholder.
Kilder
Relaterede begreber
- APIEn API fastlægger, hvordan software kan bruge funktioner eller data fra anden software.
- RESTREST beskriver arkitekturregler for distribuerede grænseflader. Ressourcer, tilstandsløse forespørgsler og links er dele af tilgangen.
- Server-Sent EventsServer-Sent Events sender tekstmeddelelser fra server til klient via HTTP, eksempelvis om en baggrundsopgaves fremdrift.
- ETagEt ETag identificerer en bestemt repræsentationsversion af en HTTP-ressource og understøtter betingede opslag eller ændringer.
- Cross-Origin Resource SharingCORS styrer browserens adgang til svar fra en anden origin. Det erstatter hverken login til API’et eller kontrol af rettigheder.
- Elektronisk dataudvekslingEDI overfører strukturerede forretningsdokumenter mellem systemer. Format, partnerprofil, datafelternes tilknytning og tilbagemeldinger skal passe sammen.
Dit projekt med ASES
Beskriv dit projekt for os. Vi vender tilbage med en første vurdering.