Feilhåndtering
Alle endepunkter i NVDB API Skriv responderer umiddelbart med en standard HTTP-statuskode dersom requesten og dens payload ikke er korrekt formatert, anropet er uautentisert, brukeren mangler autorisasjon, det er brukt ugyldig HTTP-verb eller det avdekkes andre problemer.
HTTP-statuskoder
Følgende HTTP-statuskoder kan inntreffe:
HTTP-status | Typiske årsaker |
---|---|
302 FOUND | Requesten mangler autentiseringstoken, eller autentiseringstokenet er utløpt |
400 BAD REQUEST | Payloaden er ikke formatert i henhold til skjema |
401 UNAUTHORIZED | Requesten mangler eller har et ugyldig autentiseringstoken |
403 FORBIDDEN | Anropende bruker er ikke autorisert for endepunktet, eller har ikke tilgang til den ressursen som etterspørres |
404 NOT FOUND | Ressursen som ble etterspurt i requesten ble ikke funnet |
405 METHOD NOT ALLOWED | Requesten brukte ugyldig HTTP-verb på ressursen |
406 NOT ACCEPTABLE | Ressursen kan ikke leveres i den media-type som requesten ber om i Accept-headeren |
415 UNSUPPORTED MEDIA TYPE | Requestens payload har ikke gyldig format |
422 UNPROCESSABLE ENTITY | Requestens payload er velformet, men kan ikke behandles på grunn av semantiske feil |
429 TOO MANY REQUESTS | Klienten har sent for mange requester i løpet av en periode ("rate limiting"). |
500 INTERNAL SERVER ERROR | Behandling av requesten ble avbrutt av en uventet hendelse, vanligvis en programfeil i NVDB API Skriv |
Feilmeldinger
Responser med HTTP-statuskodene over har som regel en payload med én eller flere beskrivende feilmeldinger, f.eks.:
<fault xmlns="http://nvdb.vegvesen.no/apiskriv/fault/v1">
<message>registrer.vegobjekter[0].stedfesting.stedfestingselementer[0]: Fra må være mindre enn til</message>
</fault>
Tekstene i <message>
-elementene kan opptre både på engelsk og norsk, avhengig av om feil detekteres av underliggende rammeverk
eller NVDB API Skriv sin egen forretningslogikk.
De fleste feilmeldingene er tekniske av natur og egner seg ikke for presentasjon
til sluttbruker. Det er heller ikke hensikten med slike <fault>
- responser. De fleste av dem er en indikasjon på
at klientutvikleren har feilprogrammert eller ikke godt nok har tatt hensyn til faktorer som autentisering, autorisasjon o.l.
Klienten bør logge slike responser og betrakte dem som potensielle programfeil på sin side.