@harrasteblogi JUURI NYT
--:--

Tilaa uutiskirje

Saat tuoreimmat 10 uusinta artikkelia kerran viikossa sähköpostiisi.

Tilaa uutiskirje

REST API Drupalissa vaihe vaiheeltaDrupal on monipuolinen sisällönhallintajärjestelmä, joka soveltuu perinteisten verkkosivustojen lisäksi myös headless- ja decoupled-ratkaisuihin. Yksi tärkeimmistä ominaisuuksista on REST API, jonka avulla Drupalin sisältöä voidaan käyttää ulkoisissa sovelluksissa, mobiilisovelluksissa ja muissa järjestelmissä. REST API mahdollistaa tietojen hakemisen, luomisen, päivittämisen ja poistamisen standardoitujen HTTP-pyyntöjen avulla. Vuonna 2026 REST API on keskeinen osa modernia Drupal-kehitystä.

Mikä on REST API?

REST API (Representational State Transfer Application Programming Interface) on ohjelmointirajapinta, jonka avulla eri järjestelmät voivat kommunikoida keskenään internetin välityksellä.

Yleisimpiä HTTP-metodeja ovat:

  • GET
  • POST
  • PATCH
  • PUT
  • DELETE

Näiden avulla voidaan hakea, lisätä, päivittää ja poistaa tietoja turvallisesti.

Milloin REST API:a tarvitaan?

REST API sopii moniin käyttötarkoituksiin.

Esimerkkejä ovat:

  • React-sovellukset
  • Vue-sovellukset
  • Angular-projektit
  • mobiilisovellukset
  • integraatiot CRM-järjestelmiin
  • verkkokauppaintegraatiot
  • ulkoiset raportointijärjestelmät
  • IoT-ratkaisut

Drupal toimii tällöin tietojen keskitettynä hallintajärjestelmänä.

Vaihe 1 – Ota tarvittavat moduulit käyttöön

Drupal sisältää REST-toiminnallisuudet ydinjärjestelmässä.

Yleisimmin käyttöön otettavat moduulit ovat:

  • RESTful Web Services
  • Serialization
  • HAL
  • JSON:API (tarvittaessa)
  • Basic Authentication

Vaikka JSON:API on monissa tapauksissa suositeltava vaihtoehto, REST API soveltuu edelleen tilanteisiin, joissa tarvitaan tarkempaa hallintaa rajapinnan toimintaan.

Vaihe 2 – Määritä käyttöoikeudet

Rajapintaa ei tule avata ilman asianmukaisia käyttöoikeuksia.

Määritä esimerkiksi:

  • ketkä voivat lukea sisältöä
  • ketkä voivat luoda sisältöä
  • ketkä voivat päivittää tietoja
  • ketkä voivat poistaa sisältöä

Käyttöoikeudet määritellään Drupalin roolien ja oikeuksien avulla.

Vaihe 3 – Ota REST-resurssit käyttöön

REST API:ssa määritellään, mitä resursseja voidaan käyttää.

Tyypillisiä resursseja ovat:

  • sisältö
  • käyttäjät
  • media
  • tiedostot
  • taksonomiat
  • kommentit

Jokaiselle resurssille voidaan määrittää käytettävät HTTP-metodit sekä tuetut tiedostomuodot.

Vaihe 4 – Valitse tiedonsiirtomuoto

REST API tukee useita tiedostomuotoja.

Yleisimpiä vaihtoehtoja ovat:

  • JSON
  • XML
  • HAL+JSON

Nykyisin JSON on käytännössä yleisin vaihtoehto sen yksinkertaisuuden ja laajan tuen ansiosta.

Vaihe 5 – Määritä autentikointi

Rajapinnan suojaaminen on tärkeää.

Drupal tukee esimerkiksi:

  • Basic Authentication
  • Cookie Authentication
  • OAuth-ratkaisuja lisämoduulien avulla

Tuotantoympäristössä kannattaa käyttää turvallista tunnistautumismenetelmää ja aina HTTPS-yhteyttä.

Vaihe 6 – Testaa GET-pyyntö

Ensimmäinen vaihe on yleensä tietojen hakeminen.

GET-pyynnöllä voidaan hakea esimerkiksi:

  • artikkelit
  • käyttäjät
  • mediatiedot
  • kategoriat

Testaamiseen voidaan käyttää työkaluja kuten Postman tai komentoriviltä toimivaa cURL-ohjelmaa.

Vaihe 7 – Luo uusi sisältö

POST-pyynnöllä voidaan lisätä uusia tietoja Drupal-sivustolle.

Esimerkiksi voidaan luoda:

  • uusi artikkeli
  • uusi käyttäjä
  • uusi mediatiedosto
  • uusi kommentti

Palvelin tarkistaa käyttöoikeudet ennen tietojen tallentamista.

Vaihe 8 – Päivitä sisältö

PATCH- tai PUT-pyynnöllä voidaan päivittää olemassa olevia tietoja.

Päivitettäviä tietoja voivat olla esimerkiksi:

  • otsikko
  • sisältö
  • julkaisutila
  • kuvat
  • kenttien arvot

PATCH soveltuu yleensä yksittäisten kenttien päivittämiseen, kun taas PUT korvaa resurssin kokonaisuudessaan.

Vaihe 9 – Poista sisältö

DELETE-metodilla voidaan poistaa resursseja.

Poistaminen kannattaa sallia vain käyttäjille, joilla on siihen asianmukaiset oikeudet.

Lisäksi on hyvä huomioida:

  • lokitietojen tallennus
  • varmuuskopiot
  • mahdolliset riippuvuudet muihin sisältöihin

Huolellinen käyttöoikeuksien hallinta vähentää virheiden riskiä.

REST API ja Views

Views-moduulin avulla voidaan rakentaa mukautettuja REST-näkymiä.

Niiden avulla voidaan tarjota esimerkiksi:

  • uutislistauksia
  • tapahtumia
  • tuoteluetteloita
  • hakutuloksia
  • raportteja

Views tarjoaa joustavan tavan rajata ja suodattaa API:n kautta palautettavaa dataa.

REST API ja Custom Entity

Myös Custom Entity -tyypit voidaan julkaista REST API:n kautta.

Tämä mahdollistaa esimerkiksi:

  • omien tietorakenteiden hyödyntämisen
  • integraatiot ulkoisiin järjestelmiin
  • mobiilisovellusten tietolähteet
  • headless-ratkaisut

Näin koko Drupal-järjestelmä voidaan rakentaa API-lähtöisesti.

Suorituskyvyn optimointi

Rajapinnan suorituskyky vaikuttaa käyttäjäkokemukseen ja palvelun skaalautuvuuteen.

Hyviä käytäntöjä ovat:

  • hyödynnä välimuistia
  • rajaa palautettavat kentät
  • käytä sivutusta suurissa aineistoissa
  • optimoi tietokantakyselyt
  • minimoi tarpeettomat pyynnöt

Tehokas rajapinta vähentää palvelimen kuormitusta.

Tietoturva

REST API kannattaa suojata huolellisesti.

Suositeltavia käytäntöjä ovat:

  • käytä HTTPS-yhteyttä
  • rajoita käyttöoikeuksia
  • seuraa lokitietoja
  • pidä Drupal Core ajan tasalla
  • päivitä moduulit säännöllisesti
  • käytä vahvaa autentikointia

Tietoturva on erityisen tärkeää, kun rajapinnan kautta voidaan muokata tietoja.

Yleisimmät virheet

REST API:n käyttöönotossa esiintyy usein samoja haasteita.

Tyypillisiä virheitä ovat:

  • puutteelliset käyttöoikeudet
  • väärät sisältötyypit
  • virheelliset autentikointiasetukset
  • liian avoimet rajapinnat
  • suorituskyvyn unohtaminen
  • virheelliset HTTP-metodit

Huolellinen testaus auttaa löytämään ongelmat ennen tuotantoon siirtymistä.

Yhteenveto

REST API tekee Drupalista tehokkaan alustan modernien verkkopalveluiden ja sovellusten taustajärjestelmäksi. Sen avulla sisältö voidaan jakaa turvallisesti erilaisiin käyttöliittymiin ja ulkoisiin järjestelmiin hyödyntäen standardoituja HTTP-pyyntöjä.

Kun REST API määritetään vaiheittain, käyttöoikeudet suunnitellaan huolellisesti ja suorituskyvystä sekä tietoturvasta pidetään huolta, Drupal tarjoaa vakaan ja joustavan rajapinnan niin verkkosivustoille, mobiilisovelluksille kuin headless-arkkitehtuureillekin.

🍪