4

ユーザーとユーザーの写真を取得するための基本的なメソッドを備えたRESTAPIがあるとします。例えば:

// Get a user:
GET /user/123

// Get the photos of a user:
GET /user/123/photos

// Get a photo:
GET /photo/789

これは非常に簡単ですが、特定のユーザーの写真の数を取得する方法も必要です。すべての写真を取得する必要はないので、すべての写真を取得する必要はありません。REST APIでそれを行うための最良の方法は何でしょうか?

GET /user/123/photo_countしかし、「photo_count」はリソースではないので、正しくないように見えるようなものを実装することを考えました。

この種の情報をRESTAPIで適切に表示するにはどうすればよいですか?

4

3 に答える 3

4
// Get the photos of a user: 
GET /user/123/photos

これは実際に写真を返す必要はなく、リンクのリストだけを返すことができます。

総数に関する情報を含む最初のn個のリンクの部分的なリスト、および次/前のバッチを取得するためのリンクである場合もあります。

于 2013-01-07T13:32:33.263 に答える
4

カウントを応答ヘッダーとして返すなど、少し「カスタム」なことを行うことができます。次に、カウントを取得するために、応答本文なしでヘッダーを返す必要があるHEADを発行します(つまり、実際には写真をロードしません)。

GET /user/123/photos
==>
Headers:
X-Count 23
Body:
<photos>
<photo id="1">...</photo>
<photo id="2">...</photo>
...
</photos>

HEAD  /user/123/photos
==>
Headers:
X-Count 23
Body:
none
于 2013-01-07T14:00:08.763 に答える
3

元の投稿へのコメントと同様に、写真の数をユーザーの「オブジェクト」のプロパティとして返すことができます。このGET /user/123呼び出しは、プロパティとして写真の数を含むobject / json/xmlを返すだけです。

于 2013-01-14T19:01:21.227 に答える