サーチ…


基本的なHTTPコール

概念的には、サードパーティのREST APIを統合するには、 httpパッケージを追加して外部エンドポイントを呼び出すなどの単純な操作が可能です。

meteor add http
HTTP.get('http://foo.net/api/bar/');

APIラッパー用のパッケージを作成する

しかし、基本的なHTTP呼び出しはコード再利用性を提供しません。そして、実装しようとしている他のすべての機能と混同することがあります。こうした理由から、APIラッパーを実装するのが一般的です。

Foo = {
  identify: function(input){
    return Http.get('http://foo.net/api/identify/' + input);    
  },
  record_action_on_item: function(firstInput, secondInput){
    return Http.put('http://foo.net/api/record_action_on_item/' + firstInput + '&' + secondInput);    
  }
}

Meteorは、Http.get()、Http.post()、Http.put()などをサポートしているので、間違いなくREST APIを呼び出す最良の方法です。 http://docs.meteor.com/#http_get

APIが冗長で冗長である場合は、複数のパケットを受信することがあります。その場合、それらを再構成する必要があります。これは大きな面倒です。 APIが複数のパケットを返すと思うなら、おそらくサーバー上の 'request' npmモジュールを使いたいと思うでしょう。あなたはNpm.require('request')を使いたいでしょう。 https://github.com/mikeal/request

あなたのAPIラッパー用の雰囲気パッケージを作成する

APIラッパーを作成したら、Atmosphereパッケージを作成して再配布し、アプリケーション間で共有することができます。あなたのパッケージのファイルはおそらくこのように見えます。

packages/foo-api-wrapper/package.js
packages/foo-api-wrapper/readme.md
packages/foo-api-wrapper/foo.api.wrapper.js

特に、 foo-api-wrapper/package.jsファイルは次のようになります。

Package.describe({
  summary: "Atmosphere package that impliments the Foo API.",
  name: "myaccount:foo",
  version: '0.0.1'
});

Package.on_use(function (api) {
    api.export('Foo');
    api.addFiles('foo.api.wrapper.js', ["client","server"]);
});

foo-api-wrapper/foo.api.wrapper.jsは、 Foo APIラッパーオブジェクトが含まれている必要があります。

アプリケーションにAPIパッケージを含める

この時点でパッケージを構築しているので、アプリケーションにパッケージを追加する必要があります:

meteor add myaccount:foo

最終的にそれをAtmosphereに公開する:

meteor publish myaccount:foo

アプリケーションでAPIラッパーオブジェクトを使用する

これですべての要素がまとめられたので、アプリ内から次のような呼び出しを行うことができます。

Foo.identify('John');
Foo.record_action_on_item('view', "HackerNews');

明らかに、APIの適切な構文を作成するために、関数名、引数、URLなどを調整する必要があります。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow