Ich verwende Katharsis-Bibliothek in meinem Spring Boot-Server, um automatisch JSON-API-Schnittstelle zu erstellen.Katharsis Json Api beschränken PATCH
Angenommen, ich habe einen Endpunkt (Ressource)/Ressource, für den ich die POST-Methode anbieten möchte (um neue Ressourcen zu erstellen), aber PATCH einschränken (um die Ressourcenaktualisierung einzuschränken). Inzwischen bietet das io.katharsis.repository.ResourceRepository nur die Methode save(), die sowohl für POST als auch für PATCH gilt.
Meine einzige Idee ist im Moment, FilterChain einen weiteren Filter hinzuzufügen, der das PATCHing des erforderlichen Endpunkts verhindert.
Gibt es bessere (d. H. Kürzere oder elegantere) Möglichkeiten, dies zu erreichen?
Danke für den Hinweis! Ist das der Weg, den JsonApi irgendwie empfiehlt? Mein Zweifel ist: Warum sollte ich überhaupt die Datenbank fragen? Ich weiß, dass PATCH überhaupt nicht unterstützt wird, unabhängig davon, was in der Datenbank enthalten ist. Es klingt also wie ein zusätzlicher Datenbank-Aufruf, der übersprungen werden kann, oder? Nachdem ich meine Frage noch einmal gelesen habe - vielleicht ist es nicht klar genug, werde ich es korrigieren. – ppi
Auch ich würde mich sehr freuen, auch eine kurze Erklärung, warum diese Lösung besser ist als Filter hinzufügen. Danke im Voraus! – ppi
Die Verwendung von Filter wäre besser geeignet, wenn Sie den Patch für alle Anfragen deaktivieren möchten, und ich nehme an, Sie wollen das nicht tun. Wenn man den ersten Schritt überspringt - in Produktionsbereitstellungsfällen mit großen Mengen von Transaktionen und Anfragen würde vermutlich nur der DB-Layer wissen, ob das Objekt tatsächlich bereits existiert. Es ist hauptsächlich für die Datenkonsistenz. – masterspambot