REST (json) - Utdanningsdirektoratet/KL06-LK20-public GitHub Wiki

Tips om læreplaner: Ta utgangspunkt i

Se også liste-over-alle-typene-i-Grep for å finne alle tilgjengelige typer i Grep som du kan liste.

For deg som har brukt, eller kjenner APIet vårt før "fagfornyelsen" kom, anbefaler vi å starte med den lille artikkelen Hva er nytt med v201906.

Lister og oppslag av forekomster

Lister er fine for å få tak i referanser til alle forekomster av de typene objekter vi tilbyr i Grep. Da kan du traversere videre for å få ut all informasjon som er tilgjengelig for en gitt forekomst i lista.

**Listene har følgende URL-syntaks:** https://data.udir.no/kl06/v{versjon}/{type}, for eksempel https://data.udir.no/kl06/v201906/fagkoder

**Forekomst av en gitt type har følgende URL-syntaks:** https://data.udir.no/kl06/v{versjon}/{type}/{kode}, for eksempel https://data.udir.no/kl06/v201906/fagkoder/NOR1204

Legg merke til forskjellen på forventet {type} i en URL-request, og "grep-type" som er en attributt som finnes i alle forekomster.

Verdi for {type} i GET-requestene for lister er "grep-typen" i plural form, f.eks "fagkoder". En forespørsel etter f.eks. /kl06/v201906/fagkoder, returnerer et array av alle fagkoder i Grep, men den samme forespørselen etterfulgt av f.eks. /NOR1204, gjør altså et oppslag på den gitte forekomsten av grep-typen "fagkode", som altså ligger i arrayet "fagkoder".

Traversere videre fra lister:

De dataene du får i json-objektene i arrayet (pr. type) er kun ment for referanser for videre traversering, og her er attributtet "url-data" veien for videre traversering.

En klassisk bommert vil være å parse direkte fra arrayet pr. type, siden disse inneholder en liten bunke basisinformasjon. En god regel er altså å traversere (slå opp) hvert element ved hjelp av referansen i egenskapen "url-data" og parse derfra.

Litt om identifikatorer

REST-API-ene våre viser ikke tydelig hva som er primær- eller fremmednøkler. Men alle elementene i Grep har fire ulike identifikatorer som kan brukes (og historisk har vært brukt) til ulike formål/settinger - og da som idetifikatorer (og dermed kan brukes som primærnøkler):

Ta for eksempel fagkoden https://data.udir.no/kl06/v201906/fagkoder/NOR1204:

I en REST-kontekst, anbefaler vi egenskapen "url-data". På den måten er det enklere å få tak i innholdet bak referansen, samtidig som den kan brukes som en identifikator. Vær likevel obs på at "url-data" er versjonsensitiv (se /v201906/ i stien). Vil du ha en permanent URL, bruk heller "uri" - men da er det en lengre vei for å slå opp dataene (slå opp "uri" for derfra å gå videre til "url-data"-verdien til et URI-oppslag).

i For brukere av SPARQL-tjenesten vår, er det "uri" som er nøkkelen for videre traversering/spørring, ikke "url-data"

i For de som bruker koder fra Grep i arbeid med metadatatagging av læringsressurser etter standarden NS4180, anbefaler vi å bruke "uri"-verdier, nettopp fordi de er permalenker/"permaidentifikatorer". Som nevnt over, resolver disse med "grep-type" og "url-data"-referase.