クライアントがIDを割り当てることができる人のためのRESTfulリソースが欲しいとしましょう。
人は次のようになります。 {"id": <UUID>, "name": "Jimmy"}
さて、クライアントはそれをどのように保存(または "PUT")すべきでしょうか?
PUT /person/UUID {"id": <UUID>, "name": "Jimmy"}-これで、常に検証する必要があるこの厄介な重複があります。本文のIDがパスのIDと一致していますか?- 非対称表現:
PUT /person/UUID {"name": "Jimmy"}GET /person/UUID戻り値{"id": <UUID>, "name": "Jimmy"}
 - 本文にIDがありません-IDは場所のみにあります:
PUT /person/UUID {"name": "Jimmy"}GET /person/UUID戻り値{"name": "Jimmy"}
 POSTIDはクライアントによって生成されるので、良い考えとは思えません。
一般的なパターンとそれを解決する方法は何ですか?ロケーションのみのIDは最も独断的に正しい方法のように思われますが、実際の実装も難しくなります。