Föreläsning: RESTful API

By . Latest revision .

Vi pratar vi om hur man kan jobba och dokumentera när man designar ett REST API.

#Arbetsprocess

Myckelkoncept att ha koll på är.

  • Resurser, substantiv i systemet. De håller ett “state” för varje resurs. S i REST.
  • Representationer är den presentation som API:et levererar av resursen, RE i REST.
  • Actions utförs för att hämta eller ändra resursens state. Detta är verben i systemet, vad vi gör med resurserna. T i REST.

När vi skissar ett REST API så pratar vi om vilka resurser som finns och dessa representeras i url:ar och metoder som GET, POST, PUT, DELETE som kan påverka resurserna.

På det viset skissar vi upp varje request och response.

Request: GET http://info-about-nyc.com/temperature/
Response: {"celsius": 14, "fahrenheit": 57}

När man jobbar fram en design av ett REST API så börjar man med en text som beskriver systemet och/eller en kravspecifikation.

Steg 1 är att extrahera substantiv (resurser) och verb (actions) ur texten och lista ned dem. När alla är listade kan man utvärdera vilka som är viktigast och om några är överflödiga.

Steg 2 är att skapa url:ar för de metoder som matchar de substantiv och verb som är kvar och representerar systemet.

Resurser

Resurser som används, eller är relevanta, för de områden som föreläsningen behandlar.

Artiklar som föreläsningen bygger på.

Följande artikelserie tar dig igenom hur man kan tänka när man designar ett REST API. Du får också stöd för hur du kan designa ditt API med en matris som lite kan liknas vid hur vi designade databasen med ER-modellering.

  1. How to design a RESTful API architecture from a human-language spec (part 1)
  2. How a RESTful API server reacts to requests (part 2)
  3. How a RESTful API represents resources (part 3)

Dokumentation av ett REST API.

  1. Här är en REM server som visar ett exempel på hur ett API:et till en REST server kan se ut och som kan användas för test.

  2. Emils dokumentation av REST API:et för lager API:et.

Klienter

Klienter för att testa och jobba med REST API:er.

Servrar

Servrar som hjälper dig att testa.

#Revision history

  • 2023-11-06: (A, mos) Ny presentation inför ht23.

Document source.