Поиск…
Основной HTTP-вызов
Концептуально интегрировать сторонние API REST можно так же просто, как добавить пакет 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 Wrapper в вашем приложении
Теперь, когда мы собрали все эти части, теперь вы сможете делать такие вызовы, как из вашего приложения:
Foo.identify('John');
Foo.record_action_on_item('view', "HackerNews');
Очевидно, что вам нужно настроить имена функций, аргументы, URL-адреса и т. П., Чтобы создать правильный синтаксис для API.