Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Omgang met polymorfe resources #94

Open
melsk-r opened this issue May 27, 2021 · 1 comment
Open

Omgang met polymorfe resources #94

melsk-r opened this issue May 27, 2021 · 1 comment
Labels
Design Rule Bespreekpunten om al dan niet op te nemen in de VNG-Design Rules

Comments

@melsk-r
Copy link
Contributor

melsk-r commented May 27, 2021

In het RGBZ zijn er voor sommige relaties meerdere types van gerelateerde resources mogelijk. Concrete voorbeelden hiervan zijn:

  • betrokkenen bij een zaak - dit kunnen Natuurlijke Personen, Medewerkers, Organisatorische Eenheden en meer zijn. Elk van deze betrokkenen heeft verschillende attributen, en een aantal komen (bijna) overal voor.

  • objecten gerelateerd aan een zaak via ZAAKOBJECT. Hier zijn erg veel types mogelijk, bijvoorbeeld: Huishouden, OpenbareRuimte, Wegdeel etc.

In essentie is dit een vorm van polymorfisme.

Door het uitgangspunt van Common Ground om data-bij-de-bron-opslaan te hanteren, werken we in de ZGW API specificaties met URL referenties, wat in deze context betekent dat de relaties een referentie-url geven naar de gerelateerde resource. Een client/consumer weet op voorhand niet naar welke vorm van gerelateerde resource er verwezen wordt.

Daarom is ervoor gekozen om op de relatie bij te houden om welk type resource het gaat. Een concreet voorbeeld van een response is dan:

GET https://zaken.api.haarlem.nl/v1/zaakobjecten/c9a651  HTTP/1.0
Content-Type: application/json

{
  "url": "https://zaken.api.haarlem.nl/v1/zaakobjecten/c9a651",
  "zaak": "https://zaken.api.haarlem.nl/v1/zaken/66a38b",
  "object": "https://objecten.api.haarlem.nl/v1/wijken/3fa723",
  "relatieomschrijving": "Speelt alleen in deze wijk",
  "type": "Wijk"
}

Het gaat hier dan om het 'type' veld.

De URLs in dit voorbeeld zijn uiteraard fictief.

@melsk-r melsk-r added the Design Rule Bespreekpunten om al dan niet op te nemen in de VNG-Design Rules label May 27, 2021
@melsk-r
Copy link
Contributor Author

melsk-r commented May 27, 2021

JBo: Discussie
HK:
RM: Graag meer toelichting
MV: Bespreken
GJ: ?
JBi: ?

MV: Is dit in tegenspraak met #48? Of juist niet?
RM: Geen idee hoe ik deze DD moet plaatsen i.r.t. #48.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design Rule Bespreekpunten om al dan niet op te nemen in de VNG-Design Rules
Projects
None yet
Development

No branches or pull requests

1 participant