Spring Data REST is gebouwd bovenop domeinobjecten en de repository-abstractie. Dus het laten werken met een winkelspecifieke implementatie valt buiten het bestek. Ik neem aan dat het uw belangrijkste doel is om een PATCH-verzoek toe te passen op uw domeininstantie en dat $addToSet
is slechts het middel om dat te bereiken.
Sinds versie 2.2 M1 van Spring Data REST ondersteunen we het JSON Patch-mediatype op PATCH-aanvraag. U kunt dus het volgende document naar de server sturen:
[{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] }]
Ervan uitgaande dat c
is de array die u probeert te manipuleren, dit zou foo
. toevoegen en bar
ernaartoe.
De andere - meer radicale optie is om een handmatig geïmplementeerde controller in te zetten en deze op de juiste plaats in de URI-ruimte te haken om handmatig met de repository te communiceren.