februari 2021

Swagger blir Open API Specification (OAS)

Swagger är en API specifikation med påbörjad utveckling 2010 för att 2015 gå över till OAS genom att Smartbear efter fem års utveckling att donera uttrycket och definitionen till ”The Open Api Initiative”, som de idag är med och driver. Swagger 2.0 är den senaste versionen av den är typen av definition som efter sammanslagningen …

Swagger blir Open API Specification (OAS) Läs mer »

API Design – Bestämma en URI för filtrering av data

När ett API ska designas är ett vanligt use case att hämta information från det bakomliggande systemet. I det enklaste fallet kan vi sätta upp en resurs, med tydligt innehåll, som kan anropas för att hämta alla instanser av resursen. GET /airplanes Detta anrop ska då ge en kollektion av instansen airplane, med alla som …

API Design – Bestämma en URI för filtrering av data Läs mer »

HATEOAS

Akronymen HATEOAS (Hypermedia As The Engine Of Application State) är en del av REST-arkitekturen som syftar till att en klient ska kunna hitta de resurser den behöver i ett API genom hyperlänkar i svaret från servern. Det motsvaras av nivå 3 i Richardsons mogenhetsmodell för REST-API:er (https://en.wikipedia.org/wiki/Richardson_Maturity_Model).  Som exempel kan vi ta användningsfallet att boka …

HATEOAS Läs mer »

API Autentisering

Autentisering är processen för att validera att en användare är den den utger sig för att vara.Detta är första steget i varje säkerhets process.Det finns en uppsjö av olika metoder för att säkerställa autentisering. Här nedan följer några av de vanligaste. Lösenord Basic Authentication Token/Keys JWT OAuth 1,2 Certifikat TLS/mTLS Basic Authentication Klienten skickar med …

API Autentisering Läs mer »

Versionshantering av API’er

Ett naturligt steg inom API-Management bör innefatta versionshantering. Ämnet går ofta ihop med dokumentation och namnstandard men i stora drag brukar man separera versionhantering i integrationsbrytande samt icke-integrationsbrytande ändringar. Integrationsbrytande versionshanteringVanligen en major up-version (v1 –> v2) Exempel på ”integrationsbrott”: Ett byte i anropet / svarets typ (integer –> float) Avveckling av delar av API’et …

Versionshantering av API’er Läs mer »

Begränsa inte ditt REST API till CRUD

Ibland hamnar man i den obekväma situationen att tvingas gå utanför CRUD ramarna i sin API design. Enkelt beskrivet har man ett behov som inte handlar om att skapa eller uppdatera ett attribut inom resursen. I vårt exempel med flygplan har vi tex följande URI:er för att hämta/skapa/uppdatera en resurs: POST https://api.topapi.se/api/airplanes/ GET https://api.topapi.se/api/airplanes/{airplaneId} PUT …

Begränsa inte ditt REST API till CRUD Läs mer »