Cześć. Mam aplikację w Reakcie której głównym komponentem jest formularz. Chcę poprzez ten formularz edytować dane i wysyłam do API wartość która jest tablicą:
participants.push({ participant_id: person, place_id: place });
kiedy request został dodany moja metoda PATCH wygląda tak:
{
"patch": [
{
"op": "add",
"path": "/participants",
"value": [
{
"participant_id": "e4c0958d-4e08-405e-1cab-d3447dd1cf04",
"place_id": "853719d0-8a14-45f8-1b02-b352209ab340"
},
{
"participant_id": "ae2ad2e9-47ad-1604-86e7-39edc4f8cba1",
"place_id": "97671302-0b53-418b-4714-5b96fb67c836"
},
{
"participant_id": "e4e70581-ef51-470c-b674-51487e9e97ed",
"place_id": "853719d0-8an4-45f8-9b02-b352209ab340"
},
]
}
]
}
Niestety nie jest to czego oczekuje ode mnie API. Request powinen wyglądać w ten sposób:
{
"patch": [
{
"op": "replace",
"path": "/participants/0",
"value": {
"participant_id": "27311fb1-a1be-4a2f-a64a-05ad93e204b4",
"place_id": "deb3a7d7-bf57-4d3c-8983-3398ffe3b241"
}
},
{
"op": "replace",
"path": "/participants/1",
"value": {
"participant_id": "aa676d70-49d6-4302-8de8-9ea0bccc0d2d",
"place_id": "deb3a7d7-bf57-4d3c-8983-3398ffe3b241"
}
},
{
"op": "replace",
"path": "/participants/2",
"value": {
"participant_id": "5455db6f-d0ed-41ad-838a-da06e047a665",
"place_id": "deb3a7d7-bf57-4d3c-8983-3398ffe3b241"
}
}
]
}
Jak do tego podejść ? Jak skonstruować wartość wysyłaną z formularza żeby PATCH wyglądał tak by operacja była dla każdego elementu tablicy ?
Próbowałem już modyfikować tablicę która jest wartością, mapując przez nią i dla każdego elementu tworzyć nowy obiekt wyglądający jak ten z oczekiwanego przez API patcha, ale to dało jedynie jeszcze gorszy i spowodowały dziwne zagnieżdżenia obiektów w tym requeście.
Może ktoś coś podpowiedzieć ?