2017-01-31 12 views
0

私はREST APIを構築していますが、複数のリクエストやオブジェクトの配列を返すリクエストを作成することに不利益や推奨があるのだろうかと思っていました。私は周りを検索し、これについての議論を見つけることができなかったので、そこにいる場合は謝罪します。例えば複数のGETリクエストと複数のオブジェクトを返す1つのGET

複数の要求:

GET#1

[ { "colors": ['blue','red','green'] } ] 

GET#2

[ { "animals": ['dog','cat','bird'] } ] 

GET#3

[ { "names": ['John','Jacob','Josh'] } ] 

または単一の要求:

GETの#個人的に1

[ 
    { 
    "colors": ['blue','red','green'], 
    "animals": ['dog','cat','bird'], 
    "names": ['John','Jacob','Josh'] 
    } 
] 

、私はどちらかの方法を気にしません。辞書を使うと、今後の問題はないと思います。私はこれが見下されているか、無関心であるか、または推奨されているかどうかを知ることがもっと興味があります。

さらに明確にするために、データが関連づけられます。一般的な意見と技術的な詳細の両方を探していました。つまり、3つのリクエストを試行するよりも1つのリクエストがx時間早くなる場合があります。

+0

例:http:// myapi/users(すべてのユーザーを取得)とhttp:// myapi/users/2545(単一のユーザーを取得)すべてget#1で取得 –

+1

これは完全にクエリのコンテキストに依存します。オブジェクトが互いに関連している場合、物を分ける理由はないようです。また、要求は計算上高価なものになる可能性があるので、数字を小さくすることは合理的です。 –

答えて

1

パフォーマンスの観点から、1つのGETを使用するとかなり高速です。しかし、私はそれがあなたのユースケースに本当に依存していると思います。また、コードの可読性とパフォーマンスのバランスを取る必要があります。 GET呼び出しを意味のある論理グループにグループ化し、今後コードを管理する開発者が理解できるようにすることは、おそらく良い考えです。

+0

ありがとうございます。ブラウザ上でテストすることはどちらかといえばうまくいくが、1回のリクエストでより速くなることは間違いない。モバイルブラウザでは、やや目立ちます。 時間の経過とともに、データが追加されるので、私はそれらを1つの要求として保持すると思います。すべてのデータは関連しています。 もう一度ありがとうございます。 –

関連する問題