Node JS发送空的JSON主体

问题描述 投票:0回答:1

我下面的代码应该发送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请求?

node.js post
1个回答
1
投票

正文使用body而不是jsonjson仍然有用:您可以使用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)
© www.soinside.com 2019 - 2024. All rights reserved.