Appels API simples avec Node.js et Express

Je ne fais que commencer avec les nœuds, les API et les applications Web.

Je comprends le fonctionnement de base de Node.js et Express, mais maintenant je veux commencer à faire des appels aux API d’autres services et à faire des choses avec leurs données.

Pouvez-vous décrire les requêtes HTTP de base et comment saisir / parsingr les réponses dans Node? Je suis également intéressé par l’ajout d’en-têtes spécifiques à ma demande (au départ, j’utilise l’API http://www.getharvest.com pour parsingr mes données de feuille de temps).

PS Cela semble simple, mais beaucoup de recherches n’ont rien révélé qui répondait à ma question. Si c’est dupe, faites le moi savoir et je supprimerai.

Merci!

Vous ne pouvez pas aller chercher des choses avec Express, vous devez utiliser la bibliothèque de requêtes de Mikeal dans ce but spécifique.

L’API de cette bibliothèque est très simple:

var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Print the google web page. } }) 

Edit: Il vaut mieux utiliser cette bibliothèque au lieu de http par défaut, car elle possède une API beaucoup plus agréable et des fonctionnalités plus avancées (elle supporte même les cookies).

Vous pouvez utiliser le client http:

 var http = require('http'); var client = http.createClient(3000, 'localhost'); var request = client.request('PUT', '/users/1'); request.write("stuff"); request.end(); request.on("response", function (response) { // handle the response }); 

En outre, vous pouvez définir les en-têtes comme décrit dans la documentation de l’ API :

 client.request(method='GET', path, [request_headers]) 

Installer deux paquets requirejs.

 npm install ejs npm install request 

server.js

 var request = require('request'); app.get('/users', function(req, res) { request('https://jsonplaceholder.typicode.com/users', function(error, response, body) { res.json(body) }); }); 

index.ejs

 $.ajax({ type: "GET", url: 'http://127.0.0.1:3000/posts', dataType: "json", success: function(res) { var res_data = JSON.parse(res); console.log(res_data); } }); 

Sortie

entrer la description de l'image ici