Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Fazer GET em URL externa

Olá,

Eu queria fazer uma pergunta um pouco fora do escopo do projeto. Estou utilizando o projeto base do alurapic, e queria fazer o seguinte:

api.lista = function(req, res) {

  model
    .find({})
    .then(function(fotos) {
      res.json(fotos);

    }, function(error) {
      console.log(error);
      res.status(500).json(error);
    });

};

Nesse código aqui, eu queria fazer um GET em um outro serviço meu que tem a URL localhost:3001/api/usuarios e retorna um JSON com o body dessa requisição, como eu poderia fazer isso?

2 respostas

Vou colocar o código aqui:

Routes:

module.exports = function(app){

  var api = app.api.invocador;

  app.route('/api/basic/:name')
    .get(api.get);
}

API:

API:
var api = {};

api.lista = function(req, res) {

  var name = req.params.name;

  // Aqui faz a requisição em localhost:3001/api/usuarios/ + name 
  // responde com o body em json

module.exports = api;

Acho que agora esta mais clara a minha duvida

solução!

Jean boa tarde, você pode utilizar uma lib de request do nodeJs, exemplo a "request" -> https://www.npmjs.com/package/request


var request = require('request');
var nomeUsuario = "aluraPic";

request('localhost:3001/api/usuarios/'+ nomeUsuario, function (error, response, body) {
    // aqui você implementa o callback da função chamando o "res" e devolvendo a a requisição
});

Um dos problemas dessa abordagem é o Callback Hell, depois veja como utilizar o promises para melhor manipular seus callbacks