Ricerca…
Chiamata HTTP di base
Concettualmente, integrare le API REST di terze parti può essere semplice come aggiungere il pacchetto http
e effettuare una chiamata all'endpoint esterno.
meteor add http
HTTP.get('http://foo.net/api/bar/');
Crea un pacchetto per il tuo wrapper API
Le chiamate HTTP di base non forniscono tuttavia la riusabilità del codice. E possono confondersi con tutte le altre funzionalità che stai cercando di implementare. Per questi motivi, è comune implementare 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 supporta Http.get (), Http.post (), Http.put (), ecc., Quindi è indubbiamente il modo migliore per chiamare l'API REST. http://docs.meteor.com/#http_get
Se l'API è chiacchierona e prolissa, potresti ricevere più pacchetti; nel qual caso dovrai riassemblarli. Questa è una grande seccatura. Se pensi che l'API restituisca più pacchetti, probabilmente vorrai utilizzare il modulo npm 'request' sul server. Ti consigliamo di utilizzare un Npm.require('request')
. https://github.com/mikeal/request
Crea un pacchetto atmosfera per il tuo wrapper API
Dopo aver creato un wrapper API, è probabile che tu voglia creare un pacchetto Atmosphere per ridistribuirlo e condividerlo tra le applicazioni. I file del tuo pacchetto probabilmente assomigliano a questo.
packages/foo-api-wrapper/package.js
packages/foo-api-wrapper/readme.md
packages/foo-api-wrapper/foo.api.wrapper.js
In particolare, il tuo file foo-api-wrapper/package.js
avrà un aspetto simile a questo:
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"]);
});
E il tuo foo-api-wrapper/foo.api.wrapper.js
dovrebbe contenere l'oggetto wrapper API Foo
.
Includi il pacchetto API nella tua applicazione
A questo punto, stai ancora creando il tuo pacchetto, quindi dovrai aggiungere il pacchetto alla tua applicazione:
meteor add myaccount:foo
E alla fine pubblicarlo su Atmosphere:
meteor publish myaccount:foo
Utilizzando l'oggetto wrapper API nella tua app
Ora che abbiamo messo insieme tutti questi pezzi, ora dovresti essere in grado di effettuare chiamate come le seguenti dalla tua app:
Foo.identify('John');
Foo.record_action_on_item('view', "HackerNews');
Ovviamente vorrete adattare nomi di funzioni, argomenti, url e simili, per creare la sintassi corretta per l'API.