Документація REST API говорить, що PUT /V1/products/{sku}
створює, а не оновлює.
Це помилка в документах, тому що я б припустив, що це метод оновлення, а POST - метод створення?
Документація REST API говорить, що PUT /V1/products/{sku}
створює, а не оновлює.
Це помилка в документах, тому що я б припустив, що це метод оновлення, а POST - метод створення?
Відповіді:
Маршрут POST та PUT тим же методом зберігається, але з POST ви не можете пройти sku
<route url="/V1/products" method="POST">
<service class="Magento\Catalog\Api\ProductRepositoryInterface" method="save"/>
<resources>
<resource ref="Magento_Catalog::products" />
</resources>
</route>
<route url="/V1/products/:sku" method="PUT">
<service class="Magento\Catalog\Api\ProductRepositoryInterface" method="save" />
<resources>
<resource ref="Magento_Catalog::products" />
</resources>
</route>
Переглядаючи цю сторінку: http://devdocs.magento.com/guides/m1x/api/rest/Resources/Products/products.html#RESTAPI-Resource-Products-HTTPMethod-PUT-products--id
Я бачу для PUT:
Опис: Дозволяє оновити існуючий продукт.
У мене є подібна проблема, але в моєму випадку PUT не працює належним чином, оскільки:
1) Знайдіть усі товари кошика:
GET: http://my_host.dev/index.php/rest/V1/carts/8/items
(Я ще не знаю, як знайти клієнтський cartId ) Я знайшов правильне число, збільшивши число з 1.
2) відповідь була:
[ { "item_id": 11, "sku": "MH07-M-Green", "qty": 1, "name": "Hero Hoodie", "price": 54, "product_type": "configurable", "quote_id": "8", "product_option":{ "extension_attributes":{ "configurable_item_options":[{"option_id": "90", "option_value": 53 }, {"option_id": "138",…] } } } ]
2) Оновіть ціну товару в кошику за:
{ "cartItem": { "itemId": 11, "sku": "MH07-M-Green", "qty": 2, "name": "Hero Hoodie", "price": 1000, "productType": "configurable ", "quoteId": "8" } }
3) Я не отримую оновлену ціну товару в кошику (моя відповідь така ж, як у пункті 1). Маю також сказати, що я можу видалити товари з кошика. Будь-яке рішення для цього?
Дякую