You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Om meer gegevens in 1x op te vragen of bij te werken zijn resources soms samengevoegd in een API. Dit is performance-efficient en soms ook handig vanuit transactie-perspectief. Ter illustratie:
Duidelijk is dat de titel is aangepast (van John naar Johnny). Maar, de lijst van auteurs is ook gewijzigd. Wat betekent dit? Is de (relatie naar de) auteur "Jane Doe" verwijderd? Is de naam van de 1e auteur gewijzigd naar "Johnny Doerak"? Of heeft het ID enkel gewerkt als een identifier om de relatie naar de auteur te leggen (en wordt de naam genegeerd)?
Algemener: Gaat PUT over het geheel aan gegevens (waardoor het aannemelijker is dat de (relatie naar de) auteur "Jane Doe" is verwijderd, of enkel over het top-level object "boek"? Werkt PATCH op dit vlak anders? Mogen er geen niet-identificerende attributen in PUT/PATCH operaties voorkomen van geneste resources?
We kunnen allemaal een eigen interpretatie hebben van wat het correcte gedrag is, maar juist die discussie zou ik het liefst getackled hebben met een verwijzing naar de API-strategie.
Ik denk dat het goed is om wat richtlijnen te hebben van het typische gedrag van bovenstaande API-call. De OAS-specificatie is niet helder op dit vlak. Uiteraard kan van de richtlijnen afwijken in je specifieke API maar een richtlijn helpt de voorspelbaarheid voor gebruikers en implementatie bij ontwikkelaars.
The text was updated successfully, but these errors were encountered:
joeribekker
changed the title
Richtlijnen voor het bijwerken van meervoudige geneste gegevens
Richtlijnen voor het bijwerken van (meervoudige) geneste gegevens
Oct 20, 2023
Om meer gegevens in 1x op te vragen of bij te werken zijn resources soms samengevoegd in een API. Dit is performance-efficient en soms ook handig vanuit transactie-perspectief. Ter illustratie:
GET /boek/9f84bac2-4e65-474a-a230-adfb070f3f15
Geeft een boek terug met 2 auteurs:
Als ik dit boek wil aanpassen, kan ik doen:
PUT /boek/9f84bac2-4e65-474a-a230-adfb070f3f15
ofPATCH
variantDuidelijk is dat de
titel
is aangepast (van John naar Johnny). Maar, de lijst van auteurs is ook gewijzigd. Wat betekent dit? Is de (relatie naar de) auteur "Jane Doe" verwijderd? Is de naam van de 1e auteur gewijzigd naar "Johnny Doerak"? Of heeft het ID enkel gewerkt als een identifier om de relatie naar de auteur te leggen (en wordt de naam genegeerd)?Algemener: Gaat PUT over het geheel aan gegevens (waardoor het aannemelijker is dat de (relatie naar de) auteur "Jane Doe" is verwijderd, of enkel over het top-level object "boek"? Werkt
PATCH
op dit vlak anders? Mogen er geen niet-identificerende attributen in PUT/PATCH operaties voorkomen van geneste resources?We kunnen allemaal een eigen interpretatie hebben van wat het correcte gedrag is, maar juist die discussie zou ik het liefst getackled hebben met een verwijzing naar de API-strategie.
Ik denk dat het goed is om wat richtlijnen te hebben van het typische gedrag van bovenstaande API-call. De OAS-specificatie is niet helder op dit vlak. Uiteraard kan van de richtlijnen afwijken in je specifieke API maar een richtlijn helpt de voorspelbaarheid voor gebruikers en implementatie bij ontwikkelaars.
The text was updated successfully, but these errors were encountered: