Как использовать параметры пути в запросе http.put - PullRequest
0 голосов
/ 21 мая 2019

Я хочу знать, как написать запрос PUT, который отправляет параметры в путь. Например, dev изменил URL-адрес для запроса PUT с использования строки запроса в качестве параметров на использование параметров в пути. Когда параметры были отправлены как запрос, я сделал что-то вроде этого:

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(…));
   });
});

Easy.

Однако теперь, когда запрос 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);

Выше, вероятно, неправильно, так как я не знаю, как это сделать. Я ценю ответ. Спасибо.

1 Ответ

1 голос
/ 21 мая 2019

Вы можете сделать что-то вроде этого:

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(…));
   });
});
...