如何使用 request-promise-native 设置原始 body

How to set raw body with request-promise-native

我在 node.js 上使用 request-promise-native 模块。我正在呼叫的 API 需要 header 和 Content-Type: Application/json 中的键。使用邮递员进行测试时,我必须使用 Body > raw 来传递必要的参数。那很好用。

但是,当我对请求库进行同样的尝试时,body 没有正确提交。这是我尝试过的:

const request = require('request-promise-native')

let options = {
    method: 'POST',
    uri: 'https://api.com',
    headers: {
        'X-Api-Key': <key>,
        'Content-Type': 'Application/json'
    }
}

options.body = {
    key1: 'value1',
    key2: 'value2'
}

// and since the above didn't work also this:

options.form = {
    key1: 'value1',
    key2: 'value2'
}


request(options)
   .then(function(res){ /* do something */}

我确实收到了回复,但不是基于 body 参数。如何复制 "raw" body?

request-promise-native 内部使用 request-promise,后者又是 request 的包装器。
request 有一个选项

json: true 

用于传递 json 正文参数。你可以使用它。