API GET запрос от моего API к другому API? - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь создать серверную часть, которая отправляет запрос GET другому API.

Например:

Мой API: localhost:3000/
Маршрут: /getdata/data1
Другой API: api.com/target/data

(Это фальшивый URL, просто предположите, что на этом маршруте есть данные, которые мне нужны)

Как я могу отправить запрос на получение этого API отмой API?Ajax.get

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Вы можете использовать встроенный модуль http в узле или использовать сторонний пакет, такой как request .

HTTP

Пример использования встроенного http модуля, например:

// The 'https' module can also be used
const http = require('http');

// Example route
app.get('/some/api/endpoint',  (req, res) => {

    http.get('http://someapi.com/api/endpoint', (resp) => {
        let data = '';

        // Concatinate each chunk of data
        resp.on('data', (chunk) => {
          data += chunk;
        });

        // Once the response has finished, do something with the result
        resp.on('end', () => {
          res.json(JSON.parse(data));
        });

        // If an error occured, return the error to the user
      }).on("error", (err) => {
        res.json("Error: " + err.message);
      });
});

Запрос

В качестве альтернативы можно использовать сторонний пакет, такой как request .

Первый запрос на установку:

npm install -s request

А затем измените свой маршрут на что-то вроде этого:

const request = require('request');

// Example route
app.get('/some/api/endpoint',  (req, res) => {

    request('http://someapi.com/api/endpoint',  (error, response, body) => {
        if(error) {
            // If there is an error, tell the user 
            res.send('An erorr occured')
        }
        // Otherwise do something with the API data and send a response
        else {
            res.send(body)
        }
    });
});
0 голосов
/ 25 июня 2018

Для Node.js используйте запрос .

Пример:

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  console.log('error:', error); // Print the error if one occurred
  console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});

Заменить http://www.google.com на ваш URL.Вам нужно будет узнать, нужно ли авторизоваться с помощью другого API;в противном случае вы получите HTTP 401.

...