Ik ga een webapplicatie bouwen, die vanaf diverse clients gegevens kan ontvangen.
Het datamodel is ongeveer (versimpeld):
Voorbeeld: één deelnemer doet mee aan een wedstrijd met 4 onderdelen. De deelnemer heeft respectievelijk 1,5,10,0 punten behaald in deze onderdelen. Eindscore van de wedstrijd voor deze deelnemer is dus 16.
De webapplicatie heeft een relationeel model waar al deze zaken in zijn opgenomen.
Ik ben me al een tijdje aan het verdiepen in RESTful API's. Gezien de diverse voorbeelden kun je daar bepaalde entiteiten mee POST'en, PUT'en, etc. Ik snap ongeveer hoe dit in elkaar steekt.
Ik stel me dan het volgende voor als input richting zo'n API:
(Let op: Beschrijvende weergave)
Vraag 1:
Het probleem waar ik meteen tegenaan loop, is dat als Pietje Puk met de tweede wedstrijd mee gaat doen, Pietje Puk al bestaat in de database, aangezien hij bij de aanlevering van de eerste wedstrijd reeds aangemaakt is in de database. Uiteraard wil ik dat de uitslagen van wedstrijd 2 ook gekoppeld worden aan dezelfde Pietje Puk.
Mag ik, conform de richtlijnen van RESTful, die intelligentie die de keuze maakt tussen een INSERT of UPDATE, in de webapplicatie inbouwen? Begrijp ik het goed dat ik hier de "PUT" methode voor moet gebruiken?
Vraag 2:
Zou bovenstaand client verzoek in één keer moeten kunnen? Anders gesteld: Als dit in meerdere stappen moet, heb ik dan mijn API verkeerd ontworpen?
Vraag 3:
In het verlengde van vraag 2, wat is een goede aanpak als het gaat om het ontwerp van URL's voor deze API?
Ik hoop dat dit topic duidelijk genoeg is om bestaansrecht te hebben.
Het datamodel is ongeveer (versimpeld):
code:
1
2
3
4
| - deelnemer - wedstrijd - wedstrijdonderdeel - punten per wedstrijdonderdeel |
Voorbeeld: één deelnemer doet mee aan een wedstrijd met 4 onderdelen. De deelnemer heeft respectievelijk 1,5,10,0 punten behaald in deze onderdelen. Eindscore van de wedstrijd voor deze deelnemer is dus 16.
De webapplicatie heeft een relationeel model waar al deze zaken in zijn opgenomen.
Ik ben me al een tijdje aan het verdiepen in RESTful API's. Gezien de diverse voorbeelden kun je daar bepaalde entiteiten mee POST'en, PUT'en, etc. Ik snap ongeveer hoe dit in elkaar steekt.
Ik stel me dan het volgende voor als input richting zo'n API:
(Let op: Beschrijvende weergave)
XML:
1
2
3
4
5
6
7
| <wedstrijduitslag nummer="ABC123"> <deelnemer>Pietje Puk</deelnemer> <wedstrijdonderdeel name="1">1</wedstrijdonderdeel> <wedstrijdonderdeel name="2">5</wedstrijdonderdeel> <wedstrijdonderdeel name="3">10</wedstrijdonderdeel> <wedstrijdonderdeel name="4">0</wedstrijdonderdeel> </wedstrijduitslag> |
Vraag 1:
Het probleem waar ik meteen tegenaan loop, is dat als Pietje Puk met de tweede wedstrijd mee gaat doen, Pietje Puk al bestaat in de database, aangezien hij bij de aanlevering van de eerste wedstrijd reeds aangemaakt is in de database. Uiteraard wil ik dat de uitslagen van wedstrijd 2 ook gekoppeld worden aan dezelfde Pietje Puk.
Mag ik, conform de richtlijnen van RESTful, die intelligentie die de keuze maakt tussen een INSERT of UPDATE, in de webapplicatie inbouwen? Begrijp ik het goed dat ik hier de "PUT" methode voor moet gebruiken?
Vraag 2:
Zou bovenstaand client verzoek in één keer moeten kunnen? Anders gesteld: Als dit in meerdere stappen moet, heb ik dan mijn API verkeerd ontworpen?
Vraag 3:
In het verlengde van vraag 2, wat is een goede aanpak als het gaat om het ontwerp van URL's voor deze API?
Ik hoop dat dit topic duidelijk genoeg is om bestaansrecht te hebben.
Ryzen 9 5900X, MSI Tomahawk MAX, 32GB RAM, Nvidia RTX 4070 Ti | Mijn livesets