15

ExpressJS と Coffeescript を使用して、Amazon、LastFM、および Bing の Web API からデータを取得する Web アプリを作成しようとしています。
ユーザーは、特定のバンドの特定のアルバムの価格、バンドの今後のコンサートの時間と場所などのデータを要求できます。

私の質問は、これらの API 呼び出しをクライアント側jQueryで行うべきですか、getJSONそれともサーバー側にするべきですか? クライアント側のリクエストを行いました。サーバー側から API 呼び出しを行うにはどうすればよいでしょうか?
ベストプラクティスが何であるかを知りたいだけです。また、誰かがサーバー側の API リクエストを作成するための正しい方向を教えてくれれば、それは非常に役に立ちます。

ありがとう!

4

3 に答える 3

7

この質問には、次の 2 つの重要な考慮事項があります。

  1. 通話によってデータ アクセスが発生しますか? 結果は画面に書き込まれるだけですか?
  2. どのように、どこでエラーを処理する予定ですか? スロットリングをどのように処理しますか?

Web サービスはさまざまな理由で常にダウンしているため、項目 2 はここで非常に重要です。Bing、Amazon、および Last FM への呼び出しは、おそらく 1% または 0.1% の確率で失敗します (ここでの私の経験に基づく)。

ユーザーにサーバー側の JS をリクエストするには、おそらくRequest NPM のパッケージを確認する必要があります。

于 2012-10-02T06:30:38.470 に答える
4

多くの場合、ストレージと依存サービスを抽象化して変更を分離し、アプリケーションに統合された一貫性のあるWebAPIを提供することをお勧めします。ただし、優れたハイパーメディアWeb API(他のリソースへのRESTful応答リンク)がある場合は、サービスからの応答で別のサービスからのリソースリンクを参照できます(例:SOリクエストはユーザーのGravatarイメージ/リソースを参照できます)。すべてに対応できるサイズはありません。依存関係をカプセル化するか、それと統合するかによって異なります。

サービスからのWebAPIリクエストを、expressjsを介して独自のWebAPIとして公開すると便利な場合があります。

httpweb-apiリクエストの作成はノードから簡単です。これをカバーする別のSO投稿があります:

Node.jsExpressでのHTTPGETリクエスト

于 2012-10-02T05:32:54.260 に答える
1

まあ、あなたがそれを説明する方法は、Amazon、lastfm などからデータをフェッチし、ノードで処理し、データベースに保存し、独自の API を提供することをお勧めします。

ノードのhttp.request()を使用してデータをフェッチし、express.jsで独自の REST API を構築できます

于 2012-10-02T05:17:19.647 に答える