サーチ…
基本的な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などを調整する必要があります。