Versions Compared

Key

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

...

I det følgende vil de forskellige typer af ressourcer i DRG data blive beskrevet. Format og semantik vil dog blive mere detaljeret beskrevet senere.

  • /headers indeholder små .xml skabelonen, som kan tilføjes til requests som header (i modsætning til .request.xml, som tilføjer body).
  • environments.json indeholder  indeholder hvilke NSP miljøer, som brugere kan vælge for at lave requests mod.
  • <request-id>.metadata.json indeholder meta information om det navngivne request.
  • <request-id>.request.json indeholder information om hvilke informationer et request kan udfyldes med.
  • <request-id>.request.xml indeholder et skabelon for det navngivne request.
  • <role-id>.role.json indeholder en rolle beskrivelse.

...

  • id - den identifikation, som også findes i filnavnet.
  • name - navnet der præsenteres i klienten.
  • path - den sti NSP komponenten kaldes på.
  • soap-action - den SOAP Action header, requests udfyldes med.
  • authentication - et JSON array af tags til hjælp af valg af rolle. Her kunne f.eks. stå ["VOCES"], hvormed kun rolle, som også har VOCES benyttes.
  • parents - et JSON array. Bruges til præsentation i klient for at konstruere et træ af grupperede requests.
  • environments - hvilke testmiljøer, som servicen kan kaldes på
  • headers - navn på .xml filer i data/headers, som tilføjes til requestet som header (eksempelvis HSUID Header)
  • audience - intended audience til den givne service, som bliver brugt i tilfælde, hvor rollen er POCES

Et eksempel på en .metadata.json-fil:

Code Block
languagejs
firstline1
titlefoo.bar.metadata.json
linenumberstrue
collapsetrue
{
    "id": "foo.bar",
    "name": "FooBar",
    "path": "foo-bar-ws/service/change-weather",
    "soap-action": "vendVinden",
    "authentication": ["MOCES", "FOCESPOCES"],
    "parents": ["FBS (Foo Bar Service)", "Vejr-skifter", "Use cases", "Vind-vender"],
	"environments": ["test1 cNSP"]
  	"headers": ["hsuidHeader"],
	"audience": "https://audience.nspop.dk/foobar"
  }


Request JSON

Dette er en beskrivelse af hvilke informationer, der kommer med i requestet, og indeholder desuden ekstra information til anvendere i forbindelse med udfyldelse.

...

Code Block
languagejs
firstline1
titlefoo.bar.request.json
linenumberstrue
collapsetrue
{
  "fields": [
    {
      "id": "helpText1",
      "type": "text",
      "notes": "Her kan du vælge hvilken vej vinden vender for et givent personnummer"
    },
    {
      "id": "cprNumber",
      "type": "string",
      "notes": "Personnummer",
      "validators": ["cprValidator"]
    },
    {
      "id": "windSpeed",
      "type": "number",
      "notes": "Vindstyrke"
    },
    {
      "id": "direction",
      "type": "enum",
      "notes": "Vælg retning",
      "values": ["nord", "syd", "øst", "vest"]
    },
	{
	  "id": "feelsLike",
	  "type": "string",
	  "notes": "Hvordan føles vinden?",
	  "optional": "true"
	},
    {
      "id": "predicate1",
      "type": "predicate",
      "test": "(env) => { return env.direction=='nord'; }",
      "nested": [
        {
          "id": "helpText2",
          "type": "text",
          "notes": "Nordenvinden kan være ekstra kold med chill-faktor"
        },
        {
          "id": "chillFactor",
          "type": "number",
          "notes": "Chill-faktor",
          "validators": [
            "(value) => { return value >= 0 ? null : { chillFactor: { errorMessage: 'Chill-faktoren kan ikke være negativ' } }; }"
          ]
        },
        {
          "id": "subPredicate1",
          "type": "predicate",
          "test": "(env) => { return env.chillFactor > 10; }",
          "nested": [
            {
              "id": "helpText3",
              "type": "text",
              "notes": "Vær forsigtig med værdier over 10 - det kan være ulideligt koldt."
            }
          ]
        }
      ]
    }
  ]
}

...