1

使用する基本認証に応じて 1 つの URL が異なるペイロードを受け入れた場合、設計が悪いと見なされますか? 例えば:

http://localhost/userA PUT by userA is allowed up pass XML_A but

http://localhost/userA PUT by adminA is allowed up pass XML_B which is XML_A plus more.

つまり、同じリソースですが、更新できるものは、提供された資格情報に基づいて決定されます。

戻りデータに関する会話は見たことがありますが、リクエスト ペイロードに関する会話はあまり多くありません。(それが異なると見なされるかどうかはわかりません)ありがとう

アップデート

Darrel Miller の情報に基づくと、次の設計の方が適切でしょうか?

GET /{Username}       readonly resource returns different payload based off of rights
GET /{Username}/UpdInfo  returns only updatable info (subset of GET /{Username})
PUT /{Username}/UpdInfo  updates info 1 to 1 from the GET /{Username}/Info

GET /admin/{Username}/UpdInfo returns updatable info (larger subset of GET /{Username})
PUT /admin/{Username}/UpdInfo updates info 1 to 1 from the GET /admin/{Username}/Info
4

1 に答える 1

0

私が見る問題は、PUT メソッドが対象となるリソースの内容全体を置き換えることです。たとえば、次のシーケンスが発生した場合、

PUT /UserA  with  XML_B

PUT /UserA with XML_A

GET /UserA returns XML_A

UserA には、XML_B に含まれていた余分な情報が含まれなくなりました。

2 つの異なる情報セットを異なるリソースとして表す方がよいと思います。

GET /admin/UserA

PUT /admin/UserA with XML_B

GET /UserA

PUT /UserA with XML_A
于 2010-10-14T11:21:34.560 に答える