REST API文档说PUT /V1/products/{sku}
创建而不是更新。
这是文档中的错误吗,因为我会假设这是一个更新方法,而POST是要创建的方法?
REST API文档说PUT /V1/products/{sku}
创建而不是更新。
这是文档中的错误吗,因为我会假设这是一个更新方法,而POST是要创建的方法?
Answers:
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点相同)。我还必须说,我可以从购物车中删除商品。有什么解决办法吗?
谢谢