Update eine einzelne Eigenschaft in einer REST-API

In der Gestaltung einer neuen API, wir tun unser bestes, um zu Folgen dem Muster aufgebaut, durch REST. Die Frage die ich habe ist die beste Methode zu Folgen, wenn Sie versuchen zu aktualisieren, eine einzelne Eigenschaft. Zum Beispiel:

Stellen Sie sich vor Sie haben ein einfaches Auto-Ressource:

{
   "make": "Chevrolet",
   "model": "Chevelle",
   "year": 1966,
   "color": "black",
   "for_sale": true
}

Angenommen, dass die Eigenschaft for_sale ist etwas, das Sie erwarten, wird regelmäßig durch den Anwender. Ich habe ein paar Optionen:

  1. PUT die gesamte Ressource mit for_sale eingestellt false. Für eine relativ kleine Ressource, diese scheint in Ordnung, doch in den meisten Fällen unsere Ressourcen sind ziemlich groß, sodass eine Menge von Abfällen in den Versand die gesamte Ressource zu aktualisieren einzelner, oft geänderten Eigenschaft.

  2. POST und führen eine teilweise Aktualisierung durch nur darunter, um das element zu aktualisieren, wie etwa:
    {"for_sale":false} Dies ist besser, als es erfordert viel weniger Aufwand.

Aber ich habe irgendwie scheinen die zu sein, erreichen für etwas, was noch einfacher ist, aber ich kann nicht scheinen, um herauszufinden, der richtige Ansatz. Es wäre Recht bequem, bieten eine einfache PUT an eine URL (nicht erforderlich ist, jeden Wunsch Körper) zu aktualisieren diese Eigenschaft. Ich sehe, was Google tut in Ihrer API um dies zu erreichen, aber es fühlt sich nur ein bit-RPC-ish, obwohl ich mag die Einfachheit.

POST /blogs/blogId/posts/postId/comments/commentId/approve
(markiert einen Kommentar als nicht-spam)

POST /blogs/blogId/posts/postId/comments/commentId/spam (markiert einen Kommentar als spam)

Kann jemand bieten einige Ratschläge, die beste Art und Weise zu nähern, die Aktualisierung einer einzelnen Immobilie innerhalb einer Ressource (auf möglichst leichte Art und Weise), dass gefolgt, der REST-Prinzipien? Danke!

InformationsquelleAutor ski_junkie | 2014-02-20
Schreibe einen Kommentar