A RESTful API(Representational State Transfer) är en typ av arkitektur och protokoll för att designa och hantera applikationsprogrammeringsgränssnitt(API) i distribuerade system. RESTful API bygger på de grundläggande principerna för REST arkitekturen, en metod som beskrevs av Roy Fielding i sin avhandling från 2000.
Viktiga egenskaper RESTful API inkluderar:
Adressbaserad åtkomst
Varje resurs representeras av en URL(Uniform Resource Locator), vilket gör att system kan kommunicera via HTTP-förfrågningar som, , GET PUT POST och DELETE.
Statslös tillgång
Varje begäran från klienten innehåller tillräckligt med information för att servern ska förstå begäran utan att förlita sig på tidigare tillståndsinformation. Servern lagrar inte information om klientens tillstånd mellan förfrågningar.
HTTP-metodanvändning
RESTful API använder HTTP-metoder(GET, POST, PUT, DELETE) för att definiera syftet med varje begäran. Använd till exempel GET för att hämta information, POST för att skapa ny data, PUT för att uppdatera och DELETE för att ta bort.
Användning av mediatyper
Data överförs över nätverket med format som, JSON XML eller andra anpassade format. Varje begäran måste ange önskat dataformat.
Resursidentifiering
Resurser identifieras av unika URL:er, vilket gör att klienter kan komma åt resurser med hjälp av sökvägsbaserade identifierare.
Cachebart
Förfrågningar och svar från en RESTful API kan lagras i klient- eller proxyserverminne för att optimera prestanda.
System i lager
Arkitekturen REST tillåter tillägg av mellanliggande lager såsom lastbalanserare eller proxyservrar för att förbättra skalbarhet och hanterbarhet.
RESTful API:er används ofta i webb- och mobilapplikationsutveckling, vilket möjliggör effektiv kommunikation och datadelning mellan applikationer. Stora webbtjänster som Facebook, Twitter och Google använder också RESTful-arkitekturen för att tillhandahålla API:er för utvecklare.