2013-10-30 9 views
5

を動作するはずですどのように、URIのリソースがある:GET要求のための/api/items/123HTTPのPUTは、例えば

レスポンスボディは、私はPUTリクエストを送信{"Id": "123", "Foo": "foo", "Bar": "bar"}

です。その本体は、このリクエストボディの場合{"Bar": "newBarValue"}

あり、特性がイドfooが除去さべきですか?またはバープロパティを変更する必要がありますか?またはサーバーがエラーコードを返す必要がありますか?

+1

(http://www.kreuzwerker.de/blog/edge-cases-of-updates-in-restful-json:

安らかな動詞のリスト-apis /)。 – moonwave99

+0

素敵な記事です!ありがとうございます –

答えて

4

PUTとGETは完全なリソースを使用する必要があります。

リソースを更新するだけで、バーを送信したい場合は、PATCH http動詞も使用できます。あなたは[この記事を]読みたい https://restful-api-design.readthedocs.org/en/latest/methods.html

+0

私は必要なものです。ありがとうございました –

0

はい、PUTは、の完全なのリソースの表現を提供する必要があります。サーバー上でIdFooを削除する必要があります。それに

あなただけ更新Barにしたい場合は、POST{"Bar": "newBarValue"}

多くの場合、RESTではこれは慣例に過ぎません。