Нужна помощь в преобразовании команды cURL в Javascipt - PullRequest
1 голос
/ 07 апреля 2020

Я пытаюсь получить информацию о рецепте питания от Edamam API. В документации по API команда cURL:

curl -d @recipe.json -H "Content-Type: application/json" "https://api.edamam.com/api/nutrition-details?app_id=${YOUR_APP_ID}&app_key=${YOUR_APP_KEY}"

Я использую Ax ios и Javascript, чтобы попытаться получить доступ к API с помощью команды Post:

import axios from "axios";

var postData = './recipe.json'

let axiosConfig = {
  headers: {
      'Content-Type': 'application/json;charset=UTF-8',}
};

axios.post('https://api.edamam.com/api/nutrition-details?app_id=XXXXXXXX&app_key=XXXXXXXXXXXXXXXXXXXXX', postData, axiosConfig)
.then((res) => {
  console.log("RESPONSE RECEIVED: ", res);
})
.catch((err) => {
  console.log("AXIOS ERROR: ", err);
})

Я получаю обратно 400 ошибок. Буду признателен за любые мысли о том, что мне нужно сделать, чтобы сделать эту работу.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2020

postData должна быть строкой JSON.

Возможно, вы передаете ей строку, содержащую имя файла.

Возможно, вы захотите прочитать './recipe.json' с помощью axios.get() чтобы получить данные из него.

0 голосов
/ 07 апреля 2020

В вашем cURL опция -d @recipe.json отправляет содержимое файла рецепт. json

Но, в вашем коде postData = './recipe.json', вы просто передаете имя, а не читаете его.

Сначала вам нужно прочитать данные из рецепта. json, затем вам нужно отправить его через запрос.

...