Как использовать ContextualWeb News API в node.js с помощью HTTP-клиента axios? - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь интегрировать API ContextualWeb News в приложение node.js.В частности, я хотел бы использовать axios с параметрами, чтобы сделать запрос GET к конечной точке API новостей.

Следующий код работает, но он использует fetch и параметры встроены в URL, что неудобно:

const url ="https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/NewsSearchAPI?autoCorrect=false&pageNumber=1&pageSize=10&q=Taylor+Swift&safeSearch=false"
const options = {
  method: 'GET',
  headers: {
    "X-RapidAPI-Host": "contextualwebsearch-websearch-v1.p.rapidapi.com",
    "X-RapidAPI-Key": "XXXXXXXX"
  },
}

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(e => console.error(e))

Как можно преобразовать код для работы с axios?API новостей ContextualWeb должен возвращать полученный JSON со связанными новостными статьями.

1 Ответ

1 голос
/ 18 апреля 2019

Этот подход должен работать:

const axios = require("axios");
const url = "https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/NewsSearchAPI";
const config = {
    headers: {
        "X-RapidAPI-Host": "contextualwebsearch-websearch-v1.p.rapidapi.com",
        "X-RapidAPI-Key": "XXXXXX" // Replace with valid key
    },
    params: {
        autoCorrect: false,
        pageNumber: 1,
        pageSize: 10,
        q: "Taylor Swift",
        safeSearch: false
    }
}

axios.get(url, config)
.then(response => console.log("Call response data: ", response.data))
.catch(e => console.error(e))
...