REST API 업데이트 제품 HTTP 메소드 PUT 또는 POST?


10

REST API 설명서에 따르면 PUT /V1/products/{sku}업데이트가 아니라 생성됩니다.

업데이트 방법이고 POST 가 생성하는 방법 이라고 가정했기 때문에 문서에 오류가 있습니까?

답변:


5

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>

1
좋아, 이해할 만하지 만 문서에서 PUT이 제품을 생성한다고 말하는 이유는 무엇입니까? 나는 경로의 SKU는 항상 제품을 식별하기위한 것이 아닌가? 아니면 실제로 PUT / V1 / products / : sku를 사용하여 제품을 만들 수 있습니까?
Patrik Lundgren

작성 작업에는 게시를, 업데이트 작업에는 Put을 사용해야합니다. dockblock에서 문서가 자동 생성되므로 풋과 포스트의 설명이 동일합니다.
KAndy

1

이 페이지를보고 : http://devdocs.magento.com/guides/m1x/api/rest/Resources/Products/products.html#RESTAPI-Resource-Products-HTTPMethod-PUT-products--id

PUT을 볼 수 있습니다.

설명 : 기존 제품을 업데이트 할 수 있습니다.


그것은 magento 1.x에 대한 문서입니다
KAndy

죄송합니다,이 내용이 Magento 2에 관한 것이 었습니다. 해당 페이지는 v1에 관한 것입니다.
Patrik Lundgren

그리고 KAndy가 이미 이것을 지적했다는 것을 안타깝게도 유감스럽게도 :-) 스택 교환에 관해서는 완전한 초보자입니다
Patrik Lundgren

1
주요 마 젠토 버전에 관계없이 나머지 API는 동일한 버전을 가지고 있습니까? 따라서 이것을 지적하는 데 약간의 사용이 있습니다.
hakre 2019

1

비슷한 문제가 있지만 내 경우에는 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과 동일 함). 장바구니에서 항목을 삭제할 수 있다고 말해야합니다. 이것에 대한 해결책?

감사합니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.