J'ai un problème étrange avec ma NodeJS/app Koa.js où une requête HTTP que je fais est de retour avec ce message d'erreur:module de demande noeud non mise Content-Type application/JSON
{"Message":"The request entity's media type 'application/x-www-form-urlencoded' is not supported for this resource."
Maintenant, quand je fais la même demande en utilisant un postier, je reçois des résultats corrects, donc j'ai déduit que quelque chose ne va pas dans mon code. Je n'arrive juste pas à comprendre. Voici mon code pour faire la demande et la charge utile.
// Content Type
if(options.contentType === 'json') {
headers['Content-Type'] = 'application/json';
}
// Content Length
if(options.contentLength) {
reqHeaders['Content-Length'] = options.contentLength
}
if(headers) {
for(let key in headers) {
if(!headers.hasOwnProperty(key)) {
continue;
}
reqHeaders[key] = headers[key];
}
}
const payload = {
headers : reqHeaders,
url : url,
method : requestType,
timeout : 10000,
form : vars,
followRedirect: true,
maxRedirects: 10,
body : '' || options.body
};
return new Promise(function(resolve, reject) {
request(payload, function(error, response, body) {
if(response) {
if(!error && response.statusCode === 200) {
resolve(response, body);
} else {
if(response.statusCode === 401) {
console.log('token expired');
}
reject(response, body);
}
}
});
});
Payload:
{
"headers": {
"Cookie": "XDEBUG_SESSION=PHPSTORM",
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkZWdvdWxkLWxvZ2luLmRldiIsImFjY291bnQiOiI1OTY3NmFmZmYyOWE1NWI2MTViOWFiMWEiLCJhdXRoTGV2ZWwiOjAsImlhdCI6MTUwNTg5OTQ3MX0.r-XaeTsQTjSkab9SNjrHgnh6lrgNP0uJCaDIV22A6gM",
"Content-Type": "application/json"
},
"url": "http://54.***.***/api/Report/History",
"method": "POST",
"timeout": 10000,
"form": {
"AccountId": "59676afff29a55b615b9ab1a",
"StartDate": "2017-09-19T10:11:47.0266607+00:00",
"EndDate": "2017-09-19T10:11:47.0266607+00:00",
"VIN": "SALLAK"
},
"followRedirect": true,
"maxRedirects": 10
}
Comme vous pouvez le voir, je les corriger en-têtes Content-Type dans mes têtes objet qui est dans la charge utile que je passe à la fonction de la demande, mais il seeems encore comme si il envoie en tant que x-www-form-encoded. Quelqu'un peut-il voir ce qui peut aller mal ici?
Merci
Parfait! Merci – devoncrazylegs