A RESTful API(Representational State Transfer) er en type arkitektur og protokol til design og styring af applikationsprogrammeringsgrænseflader(API'er) i distribuerede systemer. RESTful API er bygget på de grundlæggende principper for arkitekturen REST, en metode beskrevet af Roy Fielding i sin afhandling fra 2000.
Nøglekarakteristika for RESTful API omfatter:
Adressebaseret adgang
Hver ressource er repræsenteret af en URL(Uniform Resource Locator), som gør det muligt for systemer at kommunikere gennem HTTP-anmodninger såsom GET, POST, PUT og DELETE.
Statsløs adgang
Hver anmodning fra klienten indeholder nok information til, at serveren kan forstå anmodningen uden at stole på tidligere tilstandsoplysninger. Serveren gemmer ikke information om klientens tilstand mellem anmodninger.
HTTP-metodebrug
RESTful API bruger HTTP-metoder(GET, POST, PUT, DELETE) til at definere formålet med hver anmodning. Brug for eksempel GET til at hente information, POST til at oprette nye data, PUT for at opdatere og SLET for at fjerne.
Brug af medietyper
Data overføres over netværket ved hjælp af formater som JSON, XML eller andre brugerdefinerede formater. Hver anmodning skal angive det ønskede dataformat.
Ressourceidentifikation
Ressourcer identificeres af unikke URL'er, hvilket giver klienter adgang til ressourcer ved hjælp af stibaserede identifikatorer.
Cachebar
Anmodninger og svar fra en RESTful API kan gemmes i klient- eller proxyserverhukommelse for at optimere ydeevnen.
Lagdelt system
Arkitekturen REST tillader tilføjelse af mellemliggende lag såsom belastningsbalancere eller proxyservere for at forbedre skalerbarheden og håndterbarheden.
RESTful API'er bruges i vid udstrækning i web- og mobilapplikationsudvikling, hvilket muliggør effektiv kommunikation og datadeling mellem applikationer. Store webtjenester som Facebook, Twitter og Google bruger også RESTful-arkitekturen til at levere API'er til udviklere.