Siirry sisältöön
Takaisin sanastoon

Rajapinta

Rajapinta (API, application programming interface) on sovittu tapa, jolla ohjelmat pyytävät toisiltaan tietoa tai toimintoja. Verkossa rajapinta on yleensä osoite, johon lähetetään HTTP-pyyntö ja josta tulee vastaus, useimmiten JSON-muodossa.

Kun sääsovellus näyttää huomisen ennusteen, se ei laske sitä itse. Sovellus kysyy tiedon sääpalvelun rajapinnalta ja näyttää vastauksen. Rajapinta määrää, miten kysytään ja missä muodossa vastaus tulee. Sitä, miten palvelu ennusteensa laskee, kysyjän ei tarvitse tietää.

Suomen sana rajapinta on laajempi kuin API. Sillä voidaan tarkoittaa myös ihmisen ja koneen välistä käyttöliittymää tai ylipäätään kahden järjestelmän liitoskohtaa. Web-kehityksessä puhutaan kuitenkin lähes aina ohjelmointirajapinnasta eli API:sta.

Miten rajapinta toimii?

Verkkorajapinta toimii pyynnöillä ja vastauksilla. Ohjelma lähettää HTTP-pyynnön tiettyyn osoitteeseen, ja palvelin palauttaa dataa tai virheilmoituksen. Kaksi yleisintä tyyliä ovat nämä:

  • REST: jokaisella resurssilla on oma osoitteensa, ja pyynnön tyyppi (GET, POST, PUT, DELETE) kertoo, mitä sille tehdään.
  • GraphQL: kaikki pyynnöt menevät yhteen osoitteeseen, ja kysely kertoo tarkalleen, mitkä kentät halutaan takaisin.

Useimmat rajapinnat vaativat tunnistautumisen, tavallisesti API-avaimen tai tokenin. Avain kuuluu palvelimelle. Jos se päätyy selaimessa ajettavaan koodiin, kuka tahansa voi kaivaa sen esiin selaimen kehittäjätyökaluilla.

Mitä rajapinta tarkoittaa headless CMS:ssä?

Headless-julkaisujärjestelmässä rajapinta on koko idea. Perinteisessä WordPressissä sama järjestelmä tallentaa sisällön ja piirtää sivut. Headless CMS, kuten Sanity, vain säilyttää sisällön ja jakaa sen rajapinnan kautta. Next.js-sivusto hakee sisällön rajapinnasta ja päättää itse, miltä se näyttää. Sanityssä kyselyt kirjoitetaan GROQ-kielellä.

Vastaus tulee JSON-muodossa, eli pelkkänä rakenteisena datana ilman ulkoasua. Samasta sisällöstä voi siksi rakentaa sekä verkkosivun että mobiilisovelluksen ilman, että tekstejä kopioidaan paikasta toiseen.

Webflow'ssa rajapintaa ei tarvitse ajatella sivua rakentaessa, koska alusta hoitaa sisällön ja ulkoasun yhdessä. Vastaan se tulee integraatioissa. Jos CMS-kokoelmaa pitää päivittää vaikkapa tuotetietokannasta, se hoituu Webflow'n Data API:n kautta.

Mikä on avoin rajapinta?

Avoin rajapinta on rajapinta, jonka dokumentaatio on julkinen ja jota kuka tahansa saa käyttää, usein rekisteröitymällä ja hakemalla avaimen. Suomessa tuttuja esimerkkejä ovat Ilmatieteen laitoksen avoin data ja Digitransitin rajapinta, jonka päällä HSL:n Reittiopas toimii. Avoin ei silti tarkoita rajatonta. Useimmilla palveluilla on käyttörajat, ja kun ne ylittyvät, rajapinta alkaa palauttaa virheitä.

Mitä eroa on rajapinnalla ja webhookilla?

Rajapintaa kutsutaan silloin, kun tietoa tarvitaan. Webhook kääntää suunnan: palvelu lähettää itse viestin sovittuun osoitteeseen, kun jotain tapahtuu. Tämän sivuston Sanity lähettää webhookin aina kun sisältöä julkaistaan, ja sivusto tyhjentää sen jälkeen välimuistinsa. Ilman webhookia sivuston pitäisi itse kysellä rajapinnalta jatkuvasti, onko jotain muuttunut.