web-intro
  • Introduction
  • Introduksjon
    • Introduksjon
    • Din første nettside
      • Hello World
      • DevTools
  • Grunnleggende webutvikling
    • HTML
      • Elementer
      • Head og body
      • Semantikk
      • Bilder
      • Lenker
      • Knapper
      • DOM-en
    • CSS
      • Selectorer
      • Pseudo-klasser
      • Box model
      • Flyt
      • Layout
      • Responsivt
    • JavaScript
      • Filer
      • Variabler
      • Typer og operatorer
      • Strenger
      • Funksjoner
      • Listeoperasjoner
      • DOM-apiet
      • Promises
      • Async/await
      • Web-APIer
      • ESNext
      • Rammeverk
  • Neste steg
    • Universell utforming
    • React
    • Utviklingsmiljø
      • Dytt det til skyen!
    • Best practices
      • Linting og formatering
      • Code review
      • Keep it simple, stupid!
    • Flere ressurser
Powered by GitBook
On this page
  • REST og http
  • JSON
  • Oppgaver
  1. Grunnleggende webutvikling
  2. JavaScript

Web-APIer

PreviousAsync/awaitNextESNext

Last updated 5 years ago

Et API (Application Programming interface) kan ses på som en slags kontrakt for informasjonsutveksling mellom programmer eller software-komponenter. Hvis vi vil lage en nettside som skal vise informasjon fra en database, eller sende inn et skjema som skal lagres i et annet system, bruker vi en API-standard kalt web services. Web services er en tjeneste som lar programmer kommunisere over World Wide Web, gjerne gjennom Web-APIer. I stor grad bruker vi i dag RESTfulle APIer. Kjært barn har nemlig mange navn: REST, WebAPI, eller bare API. Typisk lager vi web-APIer for å kommunisere mellom klienten, f.eks. en nettside, og serveren der tjenester i backend er eksponert. APIer knytter med andre ord frontenden sammen med backenden ❤️

REST og http

REST står for representational state transfer, og beskriver en arkitektur eller stil for kommunikasjon gjennom web-APIer. Det innebærer at oppslag bruker GET-forespørsler, mens PUT, POST og DELETE brukes til å endre, opprette og slette data over http.

JSON

Når vi sender og mottar data fra et web-api, pleier det å skje i form av JSON, som vi deretter parser til JavaScript. JSON står for JavaScript Object Notation, og er en syntaks for å serialisere objekter, arrayer, tall, strenger, boolske verdier og null. Det ser ganske likt ut som et JavaScript-objekt, men . Det formateres som følger:

{
    "string": "en string",
    "key2": 1.2,
    "boolean": false,
    "array": [1, 2, 3, 4, 5, 6],
    "object": {
        "key": "value"
    },
    "empty": null
}

Til sammenlikning ser et JavaScript-objekt ut som dette:

{
  string: "en string",
  key2: 1.2,
  boolean: false,
  array: [1, 2, 3, 4, 5, 6],
  object: {
    key: "value"
  },
  empty: undefined
}

Vi kan parse fra JSON til JavaScript og motsatt med de følgende funksjonskallene:

// Fra JSON til JS
JSON.parse('{"key":"value"}'); // {key: "value"}
// Fra JS til JSON
JSON.stringify({ key: 'value' }); // '{"key": "value"}'

Oppgaver

  • Åpne inspectoren (DevTools) i chrome på en hvilken som helst nettside og gå til nettverk-fanen. Refresh siden og titt på hvilke kall som går. Er det bare GET, eller også en og annen POST? Trykk deg gjerne inn på kallene og undersøk hvordan headerne, preview og eventuell respons ser ut.

Web services
Web API
REST
er ikke det samme