2017-01-16 3 views
0

Ich habe einen Serverendpunkt, der einige Daten validiert und wahr/falsch zurückgibt, wenn die Datenüberprüfung keine Fehler aufweist.POST oder GET für eine Validierung einiger Datenendpunkte in REST?

Also welche Version wäre richtig oder besser geeignet für einen RESTful Webservice?

POST https://server.de/validate 

POST-Daten in Körper und die Rück HTTP-Statuscode 200, wenn die Validierung keine Fehler hatte oder

GET https://server.de/validate?=data 

sendet Daten in Kopf- oder Abfrageparameter und return true/false in der Antwort (Statuscode 200 würde nach einer korrekten Anfrage zurückgegeben werden, unabhängig von der Datenvalidierung).

+4

Es ist nicht ideal .. in Ruhe Terminologien Verben im uri als Validate zu haben, diese ist eher prozessorientiert .. Sie müssen dies in Bezug auf Ressource identifizieren und konvertieren, um zu erhalten und auf der Ressource zu posten, die Sie validieren müssen ... – Jocket

+0

Wahr, ich habe es "Validierung" genannt. – Gobliins

+1

Weder URI ist erholsam. Weder URI agiert als * Ressource *, die das Dokument, das Sie übertragen, ist eine Repräsentation. Die Endpunkte agieren vielmehr als Prozessoren, die die an sie gesendeten Daten transformieren. Sie sollten entweder Ihre URI-Strukturen * komplett * überdenken oder aufhören zu rufen, was Sie REST tun. – sisyphus

Antwort

1

Sie sollten immer POST verwenden, wenn die Informationen empfindlich sind.

lesen This thread für weitere Informationen gibt es bei Ihnen viele ähnliche Frage, wenn Sie suchen:

Bearbeiten/Update: a good source for seeing the difference

+1

auch wenn wir https haben? – Gobliins

+0

Ja, aber alles hängt natürlich von Fall zu Fall ab, es gibt sehr gute Beispiele in der Frage, die ich verlinkt habe, durch sie hindurch erhält man ein besseres Bild von dem, was man implementieren sollte. Persönlich bevorzuge ich die POST-Methoden, es ist weniger anfällig für böswillige Benutzer und "Fehler", zum Beispiel eine GET-Methode kann als Link von einem böswilligen Benutzer usw. per E-Mail versendet werden. @Gobliins –

Verwandte Themen