Kodeeksempler kodeverk
Generer klientkode med OpenAPI generator
Vi anbefaler å bruke en OpenAPI kodegenerator for å generere klientkode. Da kommer du rakst opp å kjøre og koden er basert på våres OpenAPI API kontrakt slik at du får forholder deg til riktige typer.
I dette eksemplet bruker vi en typescript generator
Bruk din favoritt pakkehåndterer for å installere pakken. Vi bruker PNPM.
pnpm install @hey-api/openapi-ts
Deretter er det bare å kjøre generatoren. Endre konfigurasjon til å passe med dine preferanser. Vi bruker axios som HTTP klient, derfor må vi installere hey-api modulen for denne:
pnpm install @hey-api/client-axios
Kjør generator
npx @hey-api/openapi-ts -i https://yrkesskade-ekstern-gateway.nav.no/kodeverk/v3/api-docs -o ./client/src/api/kodeverk --client @hey-api/client-axios
Hvis genereringen var vellykket, skal du nå ha klientkoden du behøver for å kommunisere med våres kodeverk API
Mer dokumentasjon av generator:
Konfigurere generert klient
Anbefaler å sjekke ut dokumentajsonen til generator og valgt HTTP klient.
BaseUrl er spesifisert i kontrakten som som koden genereres fra så denne trenger ikke settes manuelt. Hvis dere også vil ta i bruk testmiljøet, så må dere endre denne til å peke mot testmiljøet (dev). Oversikt over URL til de ulike miljøene finner du på forsiden
import { client as kodeverkKlient } from './api/kodeverk/client.gen';
kodeverkKlient.setConfig({
baseURL: "https://yrkesskade-ekstern-gateway.nav.no",
/*
// auth: Maksinporten token eller funksjon som returnerer maskinportentoken
// Eventult brukt
headers: {
Authorization: 'Bearer <MAKSINPORTEN_TOKEN>',
},
*/
})
Hent liste med alle typer
const {data } = await hentKodeverktyper()
if (!data) {
return;
}
/*
export type KodetypeDto = {
navn?: string;
beskrivelse?: string;
antallKategorier: number;
};
*/
const listeMedAlleTyper : KodetypeDto[] = data.typer
Hent liste med alle rolletyper
const { data } = await hentListeKodeverdierForType({
path: {
typenavn: 'rolletype',
},
});
if (!data){
return
}
const mapMedAlleRolletyper = data.kodeverdierMap
const verdiForArbeidstaker = mapMedAlleRolletyper['arbeidstaker']
console.log(verdiForArbeidstaker) // Arbeidstaker