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.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow