2017-06-23 3 views
0

REST APIを使用すると、特定のリソースに対して返されるデータは常に正確に表示されますか?例えばRESTfulサービスは、複数のアイテムを1つのアイテムから検索するときに異なるデータを返す必要があります

、それはリソースの一覧については、以下を持っているスペックや一般的な慣行に反している:

GET /api/users 

{ 
    userId: 1, 
    username: 'User1' 
}, 
{ 
    userId: 2, 
    username: 'User2' 
} 

が、単一のリソースのために電話をかける際に、以下を返す:

GET /api/users/1 

{ 
    userId: 1, 
    username: 'User1', 
    email: '[email protected]', 
    firstName: 'User', 
    lastName: 'One' 
} 

私は有線を介して必要なデータだけを送信するために慣れています。使用されなくなったときに、リソースに関するすべての情報を返信するのは変です。

リソースのIDと名前のリストを使用してドロップダウンを設定すると、非常に大量の不要なデータが送信される可能性があります。

+0

すべてのデータはインデックスされています。だからあなたはこの行動を見るのです –

+0

これはあなたがhttps://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#92-serializationに役立つかもしれないと思います –

答えて

2

リソースをリストするときにリソースをリストアするときには省略されたデータ構造を持つことが大丈夫です - 実際、これは予想される動作で、私が見た/使用したほとんどのRESTfulなAPIはこのフォームを使用すると主張します。結局のところ、リソースを一覧表示するときにすべてのデータを送信する場合、リソースIDを推測し、それらのデータを取得する人物とは別のリソースローダーが必要なのはなぜですか?

唯一の質問は、リスティングがデータを省略してサービスの典型的な使用例になるかどうかです。データ、ID、およびユーザー名を深く掘り下げる前にユーザー名のリストを入力する必要がある場合十二分に。

関連する問題