Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Etape 1: IT-Systemer (i kataloget) og Snitfladerhttps://os2web.atlassian.net/browse/

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyKITOSUDV-63

  • Etape 2: IT-Systemer i kommunen https://os2web.atlassian.net/browse/

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyKITOSUDV-1928

  • Etape 3: Databehandling https://os2web.atlassian.net/browse/

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyKITOSUDV-1949

  • Etape 4: Kontrakter https://os2web.atlassian.net/browse/

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyKITOSUDV-1950

  • Etape 5: Delta-Feed https://os2web.atlassian.net/browse/

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyKITOSUDV-2041

  • Etape 6: PATCH i høj opløsning https://os2web.atlassian.net/browse/

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyKITOSUDV-2358

Formålet med arbejdet er at stille et funktionelt og komplet API til rådighed hvorigennem interessenter, rettighedshavere, leverandører og kommuner kan læse/skrive data fra/til KITOS samtidig med at forretningsreglerne overholdes og stamdataene derfor forbliver anvendelige.

...

...

Obligatoriske felter SKAL altid være til stede ifm. enten PUT eller POST. Valgfrie felter MÅ gerne være til stede. Såfremt de ikke leveres, nulstilles de af KITOS ifm. POST eller PUT.

PUT

...

I PUT leveres alt data til den nye version af ressourcen. Dette betyder at udfylder man ikke et valgfrit felt i json dokumentet der sendes ifm. PUT, så nulstiller KITOS data for dette felt. Da data kan have været opdateret i KITOS anbefales det derfor at skrive ændringer via API via følgende protokol:

  • GET ressourcen, der skal ændres via GET api/v2/{ressource-type}/{uuid}

  • Flet data fra den seneste version fra KITOS med ændringer der skal skrives

  • PUT resultatet af fletningen.

PATCH

Når PATCH anvendes er det for at muliggøre opdatering af en delmængde af ressourcen dvs. man skal i denne sammenhæng ikke levere en fuld opdatering men kan nøjes med at opdatere den del af data som er relavantrelevant.

Hvilket PATCH format anvendes

KITOS' (forudsat https://os2web.atlassian.net/browse/

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyKITOSUDV-2358
) understøtter PATCH jf. JSON Merge Patch standarden: https://datatracker.ietf.org/doc/html/rfc7396

Begrænsninger i PATCH

...

Eksempler

Udgangspunktet er følgende, komplette, datakontrakt:

...

Scenario 1: Opdatering af “name”

...

Code Block
PATCH /api/v2/{ressouce}/{uuid}
{
  "name": "a new name"
}

...

For localId bemærkes, at dette ligger på en sektion “general”, men at det ligger på linje med andre felter som forventes leveret i samme request. Derfor vil følgende request være korrektså dette objekt skal medtages i request inklusive alle de felter der skal opdateres herpå:

Code Block
PATCH /api/v2/{ressouce}/{uuid}
{
  "general" : {
      "enabled": {current_enabled_state_fetched_Before_patch},
      "localId": "a new local id"
  }
}

Udelades “enabled” fra requestet, vil KITOS nulstille dette felt til standardværdienI ovenstående opdateres localId mens enabled ikke ændres fra sin nuværende værdi.

Scenario 3: Opdatering af “name” og parentUuid

...

Code Block
PATCH /api/v2/{ressouce}/{uuid}
{
  "name": "a new name",
  "parentUuid" : "B47C7EF7-E7B3-4FD5-B7B8-B4C4CA78BBD9"
}

Derved vil kun “name” og “parentUuid” blive opdateret, og sektionen “general”, og alle data herunder, vil forblive uberørt.

Scenario 4: Nulstilling af sektioner/felter

Såfremt feltet optræder på rodniveau/sektioen optræder i input-data, vil det blive evalueret, så hvis der f.eks. leveres “null” til “general”, så vil det blive opfattet som “nulstilling af general-sektionen og alle data herunder”.

...