我下面的代码应该发送POST请求,但带有一个空的JSON正文:
request.post({
url: url,
headers: {
"Content-Type": "application/json",
"data_digest": 'muZ7EcapQZVb77RFl6ZkjA=',
"partner_code": "ebfebc241db9b9c1a2fb17266c6c1b7",
"msg_type": "GET_BASEDATA_TRANSPORT",
"msg_id": '1590464383047',
"Accept-Language": "zh-cn"
},
json: {}
}, function(error, response, body) {
console.log(body);
});
但是不断返回
'System Exception:\r\ntype org.springframework.web.HttpMediaTypeNotAcceptableException\r\nmessage:Could not find acceptable representation'
但是使用Postman,我可以正确发送带有完全相同的标头的POST请求,但在Body参数中使用Raw格式只是一个空{}。
如何在Node JS中发送带有空JSON正文的POST请求?
正文使用body
而不是json
。 json
仍然有用:您可以使用json: true
自动将主体编码为JSON,发送正确的Content-Type
(因此无需显式设置)和还要解码响应。
const response = await request.post({
url,
headers: {
data_digest: 'muZ7EcapQZVb77RFl6ZkjA=',
partner_code: "ebfebc241db9b9c1a2fb17266c6c1b7",
msg_type: 'GET_BASEDATA_TRANSPORT',
msg_id: '1590464383047',
'Accept-Language': 'zh-cn'
},
json: true,
body: {}
})
console.log(response)