我想知道如何编写在路径中发送参数的PUT
请求。例如,开发人员将PUT请求的URL从使用查询字符串作为参数更改为在路径中使用参数。当将参数作为查询发送时,我做了这样的事情:
let payload = {
product_id: this.productId,
customer_id: this.customerId,
userGuide_id: this.userGuide
}
return this._$q((resolve, reject) => {
this._$http.put(‘/api/products/customer/mostRecent’, payload)
.then((result) => resolve(result))
.catch((err) => {
reject(…));
});
});
容易
但是,现在PUT请求已更改为在路径中使用参数,即:
PUT api/products/customer/{customerId}/product/{productId}
我该怎么写?
let customer_id = this.customerId,
product_id = this.productId;
let payload = {
user_GuideId: this.userGuideId
}
this._$http.put(“api/products/”+customer_id+“/product/”+product_id, payload);
以上可能是错误的,因为我不知道该怎么做。我很欣赏答案。谢谢。
答案 0 :(得分:1)
您可以执行以下操作:
this._$http.put(`api/products${customerId}/product/${productId}`, payload);
注意:我正在使用模板文字:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
谢谢!
已更新:
let payload = {
product_id: this.productId,
customer_id: this.customerId,
userGuide_id: this.userGuide
}
return this._$q((resolve, reject) => {
this._$http.put(`api/products${payload.customer_id}/product/${payload.product_id}`, payload);
.then((result) => resolve(result))
.catch((err) => {
reject(…));
});
});