4

I am trying to call another service from my express app using axios (also tried node-fetch)

So, when I call the service using curl, soapui or swagger it works.

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

However when I try using

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

I get "Request failed with status code 415"

shresthaal
  • 675
  • 4
  • 13
  • 28

1 Answers1

6

Fixed by adding Content-Type in the headers

            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);
            });
shresthaal
  • 675
  • 4
  • 13
  • 28