Node.js 如何使用request-promise-native设置原始主体

Node.js 如何使用request-promise-native设置原始主体,node.js,request-promise,Node.js,Request Promise,我正在node.js上使用request promise native模块。我调用的API需要标头中的键以及内容类型:Application/json。当使用postman进行测试时,我必须使用Body>raw传递必要的参数。那很好用 但是,当我尝试对请求库执行相同操作时,主体没有正确提交。以下是我尝试过的: const request = require('request-promise-native') let options = { method: 'POST', uri

我正在node.js上使用
request promise native
模块。我调用的API需要标头中的键以及
内容类型: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 */}
const request=require('request-promise-native')
让选项={
方法:“POST”,
uri:'https://api.com',
标题:{
“X-Api-Key”:,
“内容类型”:“应用程序/json”
}
}
options.body={
键1:‘值1’,
键2:“值2”
}
//由于上述方法不起作用,因此:
options.form={
键1:‘值1’,
键2:“值2”
}
请求(选项)
.then(函数(res){/*做某事*/}

我确实得到了一个响应,但不是基于body参数。我如何复制“原始”body?

本机
请求承诺内部使用
请求承诺
,它反过来又是
请求
的包装器
请求
有一个选项

json: true 

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

本机
请求承诺内部使用
请求承诺
,后者反过来是
请求
的包装器
请求
有一个选项

json: true 

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

嘿,您可以将
json:true
添加到
options
对象并尝试吗?或者您可以尝试,
内容类型:'application/x-www-form-urlencoded'
并查看它是否有效。@AritraChakraborty谢谢,这解决了问题。想将其作为答案发布吗?@AritraChakraborty
 json:true
是解决它的关键。发布它们你可以在
选项
对象中添加
json:true
并尝试吗?或者你可以尝试,
内容类型:'application/x-www-form-urlencoded'
看看它是否有效。@AritraChakraborty谢谢,这解决了问题。想发布它作为答案吗?@AritraChakraborty
json:true就是解决它的原因。发布它