REST API
REST on arkkitehtuurinen tyyli palveluiden rakentamiseen. Palvelua, joka on toteutettu REST-tyylin mukaisesti, kutsutaan sanalla RESTful. REST ei sinänsä vaadi, että sen on hyödynnettävä nimenomaan HTTP-protokollaa, mutta käytännön tasolla REST:iin törmää nimenomaan HTTP:n yhteydessä. Palvelun luoja saattaa joitakin resursseja käyttäjien saataville URI:n avulla. REST mahdollistaa näiden resurssien luomisen (create), lukemisen (read), päivittämisen (update) sekä poistamisen (delete). Sanoista muodostuu lyhenne CRUD; tämä on tyypillinen lyhenne tiedon materisoinnista tietojenkäsittelyssä. Mikäli REST hyödyntää HTTP:tä, käytetään HTTP-protokollan metodeja eli verbejä suorittamaan eri operaatioita. Kaikki HTTP:n verbit on listattu esimerkiksi Mozillan sivuilla, mutta REST tarvitsee niistä vain muutamaa, jotka on listattu alla olevassa taulukossa.
CRUD-operaatio | REST API:n HTTP-verbi |
---|---|
Create | POST tai PUT |
Read | GET |
Update | PUT tai PATCH |
Delete | DELETE |
Tehtävä
Selvitä, miten REST eroaa yhdestä edeltäjästään nimeltään SOAP. Voidaan sanoa, että REST on vähemmän riippuvainen verbeistä kuin SOAP, ja nojaa enemmän substantiiveihin (eng. nouns). Mitä tämä tarkoittaa?
Feikatut esimerkit
Alla esimerkki, jossa haetaan asiakkaan 123 osoite numero 42. Miksi asiakkaalla on 42 osoitetta? Ei puututa siihen.
Hae
Pyyntö:
Ja vastaus:
Päivitä
Osoitteessa on virhe. Päivitetään Tieto 1 => Taito 1
REST-rajapinnan yli.
Pyyntö:
Ja vastaus:
Poista
Päätetään sittenkin poistaa koko osoite.
Pyyntö:
Ja vastaus:
Komentoriviltä käyttö
# Nouda blogipostaus, jonka id on 1.
http https://jsonplaceholder.typicode.com/posts/1
# Luo uusi blogipostaus (leikisti)
http -f POST https://jsonplaceholder.typicode.com/posts street="Taito 1"
Tehtävä
Yllä olevat esimerkit on ajettu HTTPie-ohjelmalla. Sinulla ei ole tätä todennäköisesti asennettuna, mutta curl
voi hyvinkin löytyä. Selvitä, kuinka teet samat kyselyt curl
:lla.
Mistä dataa?
Valtaosa mielenkiintoisesta datasta on yrit4yksille tärkeää, strategista salaisuutta, mutta myös avoimesti käytettävää dataa on saatavilla. Luethan datan lisenssin tai käyttöehdot tapauskohtaisesti.
- Rautatieliikenne | Digitraffic - Fintraffic
- Tieliikenne | Digitraffic - Fintraffic
- Avoin data | Tieto Traficom
- Avoin data - Ilmatieteen laitos
- Lisäksi avoindata.fi-sivusto sisältää useiden eri lähteiden rajapintoja koostetusti yhdessä paikassa.