axios PUT呼叫不工作得到415

时间:2017-04-11 16:26:30

标签: express axios

我正在尝试使用axios(也尝试过node-fetch)从我的快递应用程序中调用另一个服务

所以,当我使用curl,soapui或swagger调用服务时,它可以工作。

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' -d '"02"' 'http://example.com/api/v1/something'

然而,当我尝试使用

axios.put('http://example.com/api/v1/something', '"03"')    
        .then((response) => {
             res.sendStatus(200);
        })
        .catch((error) => {
             console.log(error);
             res.sendStatus(500);
    });

我收到“申请失败,状态代码为415”

1 个答案:

答案 0 :(得分:1)

通过在标题中添加Content-Type来解决此问题

            axios({
                method: 'PUT',
                url, 
                data: JSON.stringify(req.body), 
                headers:{'Content-Type': 'application/json; charset=utf-8'}
            })    
            .then((response) => {            
                res.sendStatus(200);
            })
            .catch((error) => {
                logger.error(error);
                res.status(500).send(error);
            });