Hai,
Saya ingin tahu cara mengirim struktur ini:
[
{
"sha1": "3722059cc37f7a56db064c1911f063da826cb211",
"size": 36
},
{
"sha1": "a9993e364706816aba3e25717850c26c9cd0d89d",
"size": 1
}
]
Dalam permintaan PUT.
Saya sedang mengembangkan klien pengecoran Cloud untuk Node.js dan saya ragu.
http://apidocs.cloudfoundry.org/214/resource_match/list_all_matching_resources.html
Saya memiliki permintaan ini:
var url = this.API_URL + "/v2/resource_match";
var headers = {
'Accept': 'application/json',
'Authorization': token_type + " " + access_token,
'Content-Type': 'application/x-www-form-urlencoded'
};
return new Promise(function (resolve, reject) {
request.put({url:url, headers: headers}, function optionalCallback(err, httpResponse, body) {
if (err) {
console.error('upload failed:', err);
return reject(error);
}
console.log('Upload successful! Server responded with:', body);
return resolve(body);
});
});
tetapi pertanyaan saya adalah bagaimana menambahkan JSON ke permintaan.
Apakah cara terbaiknya?
Banyak terima kasih sebelumnya.
Juan Antonio
{body:JSON.stringify({object})}
Hai,
Saya telah menguji idenya, tetapi saya menerima kesalahan berikut:
Error: Error: Argument error, options.body.
Kode lengkap:
HttpUtils.prototype.DEBUG = function(method,url,headers,qs,body,httpStatusAssert){
var resources = [
{
"sha1": "3722059cc37f7a56db064c1911f063da826cb211",
"size": 36
},
{
"sha1": "a9993e364706816aba3e25717850c26c9cd0d89d",
"size": 1
}];
var options = {
method: 'PUT',
url: url,
headers: headers,
body: {body:JSON.stringify(resources)}
};
return new Promise(function (resolve, reject) {
request(options, function (error, response, body) {
if(error){
return reject(error);
}
console.log(body);
return resolve(body);
});
});
}
Dalam opsi apa, saya harus menambahkan: { body:JSON.stringify ({object})} dalam permintaan?
Saya menggunakan:
"permintaan": "^2.45.0"
Tidak, hanya {body:JSON.stringify({object})}
- _string_. Pastikan juga Anda menggunakan permintaan versi terbaru.
Terima kasih banyak, ini berjalan dengan baik!
Harap dicatat, ini telah berubah dan per bagian README yang terkait dengan options
seharusnya request({body: <JSON-serializable-object>, json: true, url:...})
dan bukan objek _stringified_ yang disebutkan di atas ketika json true . Saya menemukan ini membingungkan ketika mencampur permintaan dalam kode saya.
Saya akan menambahkan ini, karena saya memiliki masalah serupa. Saya tidak perlu membungkus nilai "tubuh" dalam opsi dengan kawat gigi objek. Jadi ini adalah kode saya yang valid:
var solution = [ {"x": 0, "y": 0}, {"x": 1, "y": 0},
{"x": 2, "y": 0},
{"x": 2, "y": 1},
{"x": 2, "y": 2},
{"x": 3, "y": 2},
{"x": 3, "y": 3}
]
var options = {
method: 'POST',
url: url,
headers: headers,
body: solution
};
rp(options)...
}
Saya menggunakan permintaan http nodejs
Mengubah
request.write(JSON.stringify(data));
Ke
request.write(JSON.stringify({body: data}));
Ini bekerja untuk saya
Komentar yang paling membantu
{body:JSON.stringify({object})}