A RESTful API(Representational State Transfer) on eräänlainen arkkitehtuuri ja protokolla sovellusohjelmointirajapintojen(API) suunnitteluun ja hallintaan hajautetuissa järjestelmissä. RESTful API on rakennettu arkkitehtuurin perusperiaatteille REST, jota Roy Fielding kuvaili vuoden 2000 väitöskirjassaan.
Tärkeimmät ominaisuudet RESTful API sisältävät:
Osoitteeseen perustuva pääsy
Kutakin resurssia edustaa URL(Uniform Resource Locator), jonka avulla järjestelmät voivat kommunikoida HTTP-pyyntöjen, kuten GET, POST, PUT ja DELETE, kautta.
Valtioton pääsy
Jokainen asiakkaan pyyntö sisältää tarpeeksi tietoa, jotta palvelin voi ymmärtää pyynnön luottamatta aikaisempiin tilatietoihin. Palvelin ei tallenna tietoja asiakkaan tilasta pyyntöjen välillä.
HTTP-menetelmän käyttö
RESTful API käyttää HTTP-menetelmiä(GET, POST, PUT, DELETE) määrittääkseen kunkin pyynnön tarkoituksen. Käytä esimerkiksi GET tietojen hakemiseen, POST uusien tietojen luomiseen, PUT päivittämiseen ja DELETE poistamiseen.
Mediatyyppien käyttö
Tiedot siirretään verkon yli käyttämällä muotoja, kuten JSON, XML tai muita mukautettuja muotoja. Jokaisessa pyynnössä on määritettävä haluttu tietomuoto.
Resurssien tunnistaminen
Resurssit tunnistetaan yksilöllisillä URL-osoitteilla, jolloin asiakkaat voivat käyttää resursseja polkupohjaisten tunnisteiden avulla.
Välimuistiin tallennettavissa
A:n pyynnöt ja vastaukset RESTful API voidaan tallentaa asiakkaan tai välityspalvelimen muistiin suorituskyvyn optimoimiseksi.
Kerrostettu järjestelmä
Arkkitehtuuri REST mahdollistaa välikerrosten, kuten kuormituksen tasaajien tai välityspalvelimien, lisäämisen skaalautuvuuden ja hallittavuuden parantamiseksi.
RESTful API:ita käytetään laajasti verkko- ja mobiilisovelluskehityksessä, mikä mahdollistaa tehokkaan viestinnän ja tiedon jakamisen sovellusten välillä. Tärkeimmät verkkopalvelut, kuten Facebook, Twitter ja Google, käyttävät myös RESTful-arkkitehtuuria tarjotakseen sovellusliittymiä kehittäjille.