Skip to content

Rest API

eras-dev edited this page May 25, 2022 · 2 revisions

Informasjon om Rest API i k9-sak-web.

Sett opp API kall til en ny endepunkt

Hver behandling har en RestApiConfigBuilder i Data mappen i BehandlingAPI.ts som bygger alle endepunkter for behandlingen. For hver endepunkt eksisterer en API Key i enum BehandlingApiKeys.

  1. Legg in API Key i enum BehandlingApiKeys.
  2. Konfigurer en endepunkt i endpoint variabelen som er en ny instans av RestApiConfigBuilder.

Eksempel:

.withPost('/k9/sak/api/verge/fjern', UtvidetRettBehandlingApiKeys.VERGE_FJERN)
  1. Naviger til hvor i koden i behandlingspakket som den nye endepunkten skal kalles og legg in useRestApiRunner. Eksempel:
const { 
  startRequest: settBehandlingPaVent, 
  data: behandling, 
  state: resState 
} = restApiUtvidetRettHooks.useRestApiRunner(UtvidetRettBehandlingApiKeys.BEHANDLING_ON_HOLD);

Kall sedan på startRequest alias funksjonen for at utføre api kallet, state for att se status på kallet og data for att bruke datan som blivit returnert.

Links / Rel fra backend

I API endepunkten for behandling returneras ett objekt med property 'Links' som er en array bestående av objekt som vist under:

{
    "href": "/k9/sak/xxxxxxx",
    "rel": "behandling",
    "requestPayload": null,
    "type": "GET"
}

Disse endepunkter blir lagt in i RestApi konfigureringen i BehandlingIndex.tsx i funksjonen setBehandling der man benytter seg av:

.setLinks(nyBehandling.links);

I BehandlingAPI.ts settes disse endepunkter opp med withRel funksjonen der man refererer til samme rel som kommer fra backend.