Recherche…
Appel HTTP basique
Conceptuellement, l'intégration d'API REST tierces peut être aussi simple que d'ajouter le package http
et d'appeler le noeud final externe.
meteor add http
HTTP.get('http://foo.net/api/bar/');
Créer un package pour votre wrapper API
Les appels HTTP de base ne fournissent cependant pas de possibilité de réutilisation du code. Et ils peuvent être confondus avec toutes les autres fonctionnalités que vous essayez d'implémenter. Pour ces raisons, il est courant d'implémenter un wrapper 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 prend en charge Http.get (), Http.post (), Http.put (), etc. http://docs.meteor.com/#http_get
Si l'API est bavarde et détaillée, vous pouvez recevoir plusieurs paquets; Dans ce cas, vous devrez les rassembler. C'est un gros problème. Si vous pensez que l’API renvoie plusieurs paquets, vous allez probablement vouloir utiliser le module npm «demande» sur le serveur. Vous voudrez utiliser un Npm.require('request')
. https://github.com/mikeal/request
Créer un package d’atmosphère pour votre wrapper API
Après avoir créé un wrapper API, vous souhaiterez probablement créer un package Atmosphère pour le redistribuer et le partager entre les applications. Les fichiers de votre paquet ressembleront probablement à ceci.
packages/foo-api-wrapper/package.js
packages/foo-api-wrapper/readme.md
packages/foo-api-wrapper/foo.api.wrapper.js
En particulier, votre fichier foo-api-wrapper/package.js
voudra ressembler à ceci:
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"]);
});
Et votre foo-api-wrapper/foo.api.wrapper.js
devrait contenir l'objet wrapper Foo
API.
Inclure le package API dans votre application
À ce stade, vous construisez toujours votre package, vous devrez donc ajouter le package à votre application:
meteor add myaccount:foo
Et éventuellement le publier sur Atmosphere:
meteor publish myaccount:foo
Utilisation de l'objet wrapper API dans votre application
Maintenant que nous avons rassemblé tous ces éléments, vous devriez maintenant pouvoir passer des appels comme suit à partir de votre application:
Foo.identify('John');
Foo.record_action_on_item('view', "HackerNews');
De toute évidence, vous voudrez ajuster les noms de fonction, les arguments, les URL, etc., pour créer la syntaxe appropriée pour l'API.