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

cit*_*vin 0 node.js request-promise

request-promise-native在 node.js 上使用模块。我正在调用的 API 需要标头中的密钥以及Content-Type: Application/json. 使用 postman 进行测试时,我必须使用 Body > raw 来传递必要的参数。这工作得很好。

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

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 */}
Run Code Online (Sandbox Code Playgroud)

我确实得到了回应,但不是基于身体参数。如何复制“原始”身体?

Ari*_*rty 5

request-promise-native内部使用request-promise这又是一个包装request
request有一个选择

json: true 
Run Code Online (Sandbox Code Playgroud)

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