เอกสารประกอบ 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>
ฉันเห็น PUT:
คำอธิบาย: ช่วยให้คุณอัปเดตผลิตภัณฑ์ที่มีอยู่
ฉันมีปัญหาที่คล้ายกัน แต่ในกรณีของฉัน PUT ไม่ทำงานอย่างถูกต้องเพราะ:
1) หาผลิตภัณฑ์ทั้งหมดของรถเข็น:
GET: http://my_host.dev/index.php/rest/V1/carts/8/items
(ฉันยังไม่รู้ว่าจะหารหัสลูกค้าได้อย่างไร ) ฉันพบหมายเลขที่ถูกต้องโดยเพิ่มหมายเลขจาก 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) ฉันต้องบอกด้วยว่าฉันสามารถลบรายการออกจากรถเข็นได้ ทางออกสำหรับเรื่องนี้?
ขอบคุณ