REST এপিআই আপডেট পণ্য HTTP পদ্ধতি পুট বা পোস্ট?


10

REST এপিআই ডকুমেন্টেশন বলে যে এটি PUT /V1/products/{sku}আপডেটের চেয়ে তৈরি করে।

ডক্সে কি এটি একটি ত্রুটি কারণ আমি ধরে নিয়েছি যে এটি একটি আপডেট পদ্ধতি এবং পোস্টটি তৈরির পদ্ধতি?

উত্তর:


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 / V1 / product /: sku ব্যবহার করে আসলে পণ্য তৈরি করতে পারে?
প্যাট্রিক লন্ডগ্রেন

আপডেট অপারেশনের জন্য আপনার তৈরি এবং পুটের জন্য পোস্ট ব্যবহার করা উচিত। ডক্লোকেশন ডকব্লক থেকে স্বয়ংক্রিয়ভাবে তৈরি করা হয়, এই কারণেই পোস্টে পোস্টের একই বিবরণ রয়েছে
কান্দি

1

এই পৃষ্ঠাটি দেখুন: http://devdocs.magento.com/guides/m1x/api/rest/Res উত্স / প্রডাক্টস / প্রোডাক্টস html#RESTAPI- রিসোর্স- প্রডাক্টস- এইচটিটিপিমেদোদ- পিট-প্রোডাক্ট----

আমি পুটের জন্য দেখতে পাচ্ছি:

বর্ণনা: একটি বিদ্যমান পণ্য আপডেট করার অনুমতি দেয়।


এটি ম্যাজেন্টো 1.x এর জন্য ডক্স
কান্দি

দুঃখিত, আমার পাঠ্যটিতে লেখা উচিত ছিল যে এটি ম্যাজেন্টো 2 সম্পর্কিত ছিল, পৃষ্ঠাটি প্রায় v1।
প্যাট্রিক লন্ডগ্রেন

এবং না পড়ার জন্য দুঃখিত যে ক্যান্ডি ইতিমধ্যে এটি উল্লেখ করেছে :-) স্ট্যাকেক্সচেঞ্জের বিষয়টি যখন আসে তখন আমি একজন সম্পূর্ণ শিক্ষানবিশ
প্যাট্রিক লন্ডগ্রেন

1
বেশিরভাগ বড় ম্যাজেন্টো সংস্করণ নির্বিশেষে, বাকি এপিআই-এর একই সংস্করণ রয়েছে, তাই না? সুতরাং এটি নির্দেশ করে কিছু ব্যবহার আছে।
hakre

1

আমি একই সমস্যা পেয়েছি তবে আমার ক্ষেত্রে পিটি সঠিকভাবে কাজ করে না কারণ:

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 পয়েন্টের মতোই)। আমার আরও বলতে হবে যে আমি কার্ট থেকে আইটেমগুলি মুছতে পারি। এর কোন সমাধান?

ধন্যবাদ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.