/ / Faire une requête GET à l'API JSON dans Node.js? - node.js, api, get, json-api

Faire une requête GET à l'API JSON dans Node.js? - node.js, api, get, json-api

Vous vous demandez comment je peux faire une demande GET à un JSONAPI utilisant Node.js. De préférence, je souhaite utiliser Express, mais ce n’est pas nécessaire et la sortie doit se trouver sur une page Jade. Je suis encore complètement nouveau pour Node.js et les langages backend dans leur ensemble.

Réponses:

12 pour la réponse № 1
var request = require("request");
request("<API Call>", function (error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body)
}
})

Cela fera une requête HTTP à l'API et en cas de succès, analysera la réponse en JSON.

En ce qui concerne la réponse sur une page Jade, souhaitez-vous effectuer un appel API (sur votre propre serveur), puis utiliser AngularJS / jQuery / un autre cadre pour renseigner les informations?

Si vous souhaitez ajouter ceci à votre propre itinéraire, envisagez de l'intégrer comme ceci:

var express = require("express");
var cors = require("cors");
var request = require("request");
var app = express();
app.use(express.bodyParser());
app.use(cors());
app.get("<Your Route>", function(req, res){
request("<API Call>", function (error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body)
// do more stuff
res.send(info);
}
})
});
app.listen(3000);
console.log("The server is now running on port 3000.");

6 pour la réponse № 2

J'aime utiliser le package de demande:

npm install --save request

Et le code:

var request = require("request");

request({url: "http://yourapi.com/", json: true}, function(err, res, json) {
if (err) {
throw err;
}
console.log(json);
});

2 pour la réponse № 3

En outre, les mêmes personnes qui vous ont apporté le request paquet, ont sorti avec une version basée sur la promesse soutenue par bluebird appelée, sans surprise, request-promise:

demande-promesse npm page

Certaines personnes préfèrent également le super agent, ce qui vous permet de chaîner des commandes:

page superagent npm

Voici un exemple tiré de leur documentation:

request
.post("http://localhost:3000/api/pet")
.send({ name: "Manny", species: "cat" })
.set("X-API-Key", "foobar")
.set("Accept", "application/json")
.end(function(err, res){
// Calling the end function will send the request
});