Простой пост, работающий с запросом, но не с извлечением узла

Я пытаюсь переключиться с устаревшего пакета request (я использую request-promise-native поверх него) на node-fetch. Но эти два запроса не кажутся эквивалентными:

// node-fetch :

const result = await fetch(
  `${process.env.PATEXTRACTOR_URL}/api/v2/graph`,
  {
    method: "post",
    body: JSON.stringify(buildPatentExtractBody(selection)),
    agent: new Agent({ keepAlive: true })
  }
).then(result => result.json());

// request-promise-native :

const { data } = await request.post({
  url: `${process.env.PATEXTRACTOR_URL}/api/v2/graph`,
  json: true,
  body: buildPatentExtractBody(selection),
  agentOptions: {
    keepAlive: true
  }
});

node-fetch завершается с ошибкой 400 (от целевого API), в которой говорится, что отсутствующие параметры или тип запроса не распознаны), где request-promise-native завершается успешно и возвращает хороший результат json.

Я не вижу разницы между этими двумя запросами. Любая помощь ? Спасибо.


person ostrebler    schedule 03.05.2021    source источник
comment
Вам не хватает headers: { "Content-type": "application/json" }   -  person Phil    schedule 03.05.2021