私のモデルが次のとおりであるとします。
ユーザー:
- ID
- ニックネーム
私はコレクションを持っています/users/
より複雑なケースでは、「論理的な一意の制約」が存在しない可能性があるため、 User を では/users/{id}
なくによって取得する必要があります。/users/${nickname}
したがって、使用できる基本的な JSON ペイロードは次のとおりです。
{
id: 123,
nickname: 'someUserName'
}
ここには派手なものはありません。
/users/ に投稿
私の知る限り、識別子としてのユーザー。これはリソース表現の一部であるため、ペイロード (?) に含まれている必要があります。
たとえば、DB シーケンスを使用して、バックエンドで自分で ID を生成したい場合はどうすればよいでしょうか?
次に、私のペイロードは次のようになります。
{
nickname: 'someUserName'
}
これは適切ですか?
この POST の出力は何ですか? 何もない?IDを含むリソースの場所を参照するヘッダーだけですか?
/users/id で GET
リソースを取得したら、そのコンテンツを JSON として読み込みます。
{
id: 123,
nickname: 'someUserName'
}
/users/id に置く
私の知る限り、このメソッドで使用されるペイロードは、リソース コンテンツを「オーバーライド」することになっています。部分的な更新が必要な場合は、PATCH を使用します。
しかし、次のようにするとどうなりますか:
PUT /users/123
{
id: 456,
nickname: 'someUserName'
}
これは、リソースの ID を更新したいということですか?
URI とペイロードの両方で id を使用するのは冗長ではありませんか?
実際、私は を処理する方法をよく知りませんid
。
すべての POST / PUT / DELETE 操作で同じリソース表現を使用する必要があるかどうかはわかりません。
ID を一意の (?) リソース表現の一部にする必要があるかどうかはわかりません。しかし、ID が表現の一部ではない/users/
場合、GET を使用してユーザーを一覧表示すると、ID が返されない場合、クライアントがユーザー ID を取得する方法がわかりません...
誰かが私を助けることができますか?:)