私はREST APIサーバーと対話するためのWebクライアントを開発しており、PATCHメソッドを使用したいと考えています。HTTPモジュール(browserifyを使用したnode.jsの)は、リクエスト本体にメソッドPATCHを書きません
私はPATCHのリクエストにリクエストボディを書き込もうとしましたが、ボディが空のままであることがわかりました。 PUTまたはPOSTは同じ方法でうまく動作します。
代わりにPUTを使用できますが、私のhttpモジュールの使用が間違っているかどうかは誰にも分かりますか?
ありがとうございます。
var http = require('http');
module.exports = {
patch: function(path, data, done, fail){
var jsonData = JSON.stringify(data);
var options = {
headers: {
'Content-Type':'application/json;charset=UTF-8',
'Content-Length':jsonData.length,
}
};
var req = this.request(path, "PATCH", done, fail, options);
// THIS CODE DOESN'T WRITE jsonData INTO REQUEST BODY
req.write(jsonData);
req.end();
},
request: function(path, method, done =() => {}, fail =() => {}, options = { headers: {} }){
options.path = path;
options.method = method;
return http.request(options, function(res){
var body = '';
res.setEncoding('utf8');
res.on("data", function(chunk){
body += chunk;
});
res.on("end", function(){
// process after receiving data from server
});
}).on("error", function(e) {
// process after receiving error
});
}
}
私はどちらかといえば、代わりにPOSTを使用しました。あなたの経験を共有してくれてありがとう! – tsuda7