এটি কি REST এপিআই সত্যই আরপিসি? রায় ফিল্ডিং মনে হয় তাই


100

আরআরইএসটি সম্পর্কে আমি যা জানতাম তার একটি বিশাল পরিমাণ স্পষ্টতই ভুল - এবং আমি একা নই। এই প্রশ্নের একটি দীর্ঘ নেতৃত্ব রয়েছে, তবে এটি প্রয়োজনীয় বলে মনে হচ্ছে কারণ তথ্যটি কিছুটা ছড়িয়ে ছিটিয়ে রয়েছে। আপনি যদি ইতিমধ্যে এই বিষয়টির সাথে পরিচিত হন তবে আসল প্রশ্নটি শেষ হয়।

রয় ফিল্ডিংয়ের আরইএসটি এপিআই- এর প্রথম অনুচ্ছেদ থেকে অবশ্যই হাইপারটেক্সট-চালিত হওয়া উচিত , এটি পরিষ্কার যে তিনি বিশ্বাস করেন যে তাঁর কাজটি ব্যাপকভাবে ব্যাখ্যা করা হচ্ছে:

যে কোনও HTTP- ভিত্তিক ইন্টারফেসকে একটি REST এপিআই বলার লোকের সংখ্যা শুনে আমি হতাশ হয়ে যাচ্ছি। আজকের উদাহরণ হ'ল সোশ্যালসাইট REST এপিআই । তা হ'ল আরপিসি। এটি আরপিসির চিৎকার করে। ডিসপ্লেতে এমন অনেক মিলন রয়েছে যে এটির একটি এক্স রেটিং দেওয়া উচিত।

ফিল্ডিং একটি REST এপিআইর কয়েকটি বৈশিষ্ট্য তালিকাতে চলেছে। তাদের মধ্যে কিছু মনে হয় এসও এবং অন্যান্য ফোরামে সাধারণ অনুশীলন এবং সাধারণ পরামর্শ উভয়ের বিরুদ্ধেই। উদাহরণ স্বরূপ:

  • আরআরএসআইপি প্রাথমিক ইউআরআই (বুকমার্ক) এর বাইরে কোনও পূর্ব জ্ঞান ছাড়াই প্রবেশ করাতে হবে এবং মানকৃত মিডিয়া টাইপের সেট সেট করতে হবে যা উদ্দেশ্যপ্রণোদিত দর্শকদের জন্য উপযুক্ত (যেমন, কোনও ক্লায়েন্টের দ্বারা বোঝা যাবে যা এপিআই ব্যবহার করতে পারে)। ...

  • একটি REST এপিআই অবশ্যই স্থির সংস্থানসমূহের নাম বা স্তরক্রম (ক্লায়েন্ট এবং সার্ভারের একটি সুস্পষ্ট মিলন) সংজ্ঞায়িত করবে না। ...

  • একটি REST এপিআই এর প্রায় সমস্ত বর্ণনামূলক প্রচেষ্টাকে সম্পদ উপস্থাপন এবং ড্রাইভিং অ্যাপ্লিকেশন স্থিতির জন্য ব্যবহৃত মিডিয়া ধরণের (গুলি) সংজ্ঞায়িত করতে বা বিদ্যমান স্ট্যান্ডার্ড মিডিয়া প্রকারের জন্য প্রসারিত সম্পর্কের নাম এবং / অথবা হাইপারটেক্সট-সক্ষম মার্ক-আপ সংজ্ঞায়িত করতে ব্যয় করা উচিত। ...

"হাইপারটেক্সট" ধারণাটি কেন্দ্রীয় ভূমিকা পালন করে - ইউআরআই কাঠামোর চেয়ে বা HTTP ক্রিয়াগুলির অর্থের চেয়ে অনেক বেশি। "হাইপারটেক্সট" একটি মন্তব্যে সংজ্ঞায়িত করা হয়েছে:

যখন আমি [ফিল্ডিং] হাইপারটেক্সট বলি, আমি বোঝাতে চাইছি একই সাথে তথ্যের উপস্থাপনা এবং এটি নিয়ন্ত্রণ করে যে তথ্যটি সেই সামর্থ্য হয়ে যায় যার মাধ্যমে ব্যবহারকারী (বা অটোমেটন) পছন্দগুলি গ্রহণ করে এবং ক্রিয়াগুলি নির্বাচন করে। হাইপারমিডিয়া হ'ল পাঠ্যটির অর্থ মিডিয়া স্ট্রিমের মধ্যে টেম্পোরাল অ্যাঙ্কারগুলি অন্তর্ভুক্ত করার অর্থ কী; বেশিরভাগ গবেষক এই পার্থক্যটি বাদ দিয়েছেন।

হাইপারটেক্সট ব্রাউজারে এইচটিএমএল হওয়ার দরকার নেই। মেশিনগুলি লিঙ্কগুলি অনুসরণ করতে পারে যখন তারা ডেটা ফর্ম্যাট এবং সম্পর্কের ধরণগুলি বুঝতে পারে।

আমি এই মুহুর্তে অনুমান করছি, তবে উপরের প্রথম দুটি পয়েন্টটি ফুও রিসোর্সের জন্য এপিআই ডকুমেন্টেশনের পরামর্শ দেয় যা নীচের মত দেখতে ক্লায়েন্ট এবং সার্ভারের মধ্যে সংযোগ স্থাপনের দিকে নিয়ে যায় এবং একটি বিশ্রাম সিস্টেমের কোনও স্থান নেই।

GET   /foos/{id}  # read a Foo
POST  /foos/{id}  # create a Foo
PUT   /foos/{id}  # update a Foo

পরিবর্তে, কোনও এজেন্টকে সমস্ত ফুগুলির জন্য ইউআরআইগুলি আবিষ্কার করতে বাধ্য করা উচিত, উদাহরণস্বরূপ, / foos এর বিরুদ্ধে একটি জিইটি অনুরোধ জারি করে। (U সমস্ত ইউআরআইরা উপরের প্যাটার্নটি অনুসরণ করতে পারে, তবে এটি বিন্দুর পাশেই রয়েছে)) প্রতিক্রিয়াটি এমন একটি মিডিয়া টাইপ ব্যবহার করে যা প্রতিটি আইটেম কীভাবে অ্যাক্সেস করতে হয় এবং এটি দিয়ে কী করা যায় তা বোঝাতে সক্ষম, উপরের তৃতীয় পয়েন্টটি উত্থাপন করে । এই কারণে, এপিআই ডকুমেন্টেশনের প্রতিক্রিয়ার মধ্যে থাকা হাইপারটেক্সটকে কীভাবে ব্যাখ্যা করতে হবে তা ব্যাখ্যা করার উপর ফোকাস করা উচিত।

তদ্ব্যতীত, প্রতিবার কোনও Foo উত্সের জন্য ইউআরআইয়ের অনুরোধ করা হলে, প্রতিক্রিয়াতে এজেন্টের কীভাবে এগিয়ে যাওয়া যায় তা আবিষ্কার করার জন্য প্রয়োজনীয় সমস্ত তথ্য রয়েছে, উদাহরণস্বরূপ, তাদের ইউআরআইয়ের মাধ্যমে সম্পর্কিত এবং পিতামাতার সংস্থানগুলি অ্যাক্সেস করা বা তৈরির পরে ব্যবস্থা গ্রহণের মাধ্যমে / একটি উত্স মুছে ফেলা।

পুরো সিস্টেমটির মূলটি হ'ল প্রতিক্রিয়াটি মিডিয়া টাইপের মধ্যে থাকা হাইপারটেক্সট দ্বারা গঠিত যা নিজেই এগিয়ে যাওয়ার জন্য এজেন্ট বিকল্পগুলিতে পৌঁছে দেয়। এটি কোনও ব্রাউজার মানুষের জন্য যেভাবে কাজ করে তার বিপরীতে নয়।

তবে এই নির্দিষ্ট মুহুর্তে এটি আমার সেরা অনুমান।

ফিল্ডিং একটি ফলোআপ পোস্ট করেছিলেন যাতে তিনি সমালোচনার জবাব দিয়েছিলেন যে তাঁর আলোচনা খুব বিমূর্ত, উদাহরণের অভাব এবং জারগন সমৃদ্ধ:

অন্যরা আমি কী লিখেছি সেগুলি বোঝার চেষ্টা করবে যা আজকের কিছু ব্যবহারিক উদ্বেগের জন্য আরও প্রত্যক্ষ বা প্রযোজ্য। আমি সম্ভবত করব না, কারণ আমি পরবর্তী বিষয় নিয়ে ঝাঁপিয়ে পড়েছি, একটি সম্মেলনের প্রস্তুতি নিচ্ছি, অন্য একটি মান লিখছি, কিছু দূরের জায়গায় ভ্রমণ করছি, বা কেবল আমার ছোট ছোট কাজ করে যা আমার মনে হয় যে আমি আমার বেতনটি পেয়েছি।

সুতরাং, সেখানে একটি বাস্তব ব্যবহারিক মানসিকতা সহ বিশিষ্ট বিশেষজ্ঞদের জন্য দুটি সহজ প্রশ্ন: ফিল্ডিং কী বলছে এবং কীভাবে আপনি আরএসটি এপিআইগুলি দলিল / প্রয়োগ করার সময় বাস্তবে রাখবেন তা আপনি কীভাবে ব্যাখ্যা করবেন?

সম্পাদনা করুন: আপনি যা বলছেন তার নাম না থাকলে কোনও কিছু শেখা কত কঠিন হতে পারে তার একটি উদাহরণ এই প্রশ্ন। এই ক্ষেত্রে নামটি হ'ল হাইপারমিডিয়া হিসাবে অ্যাপ্লিকেশন স্টেটের ইঞ্জিন "(হেটোয়াস)।


26
জন, রিচ কেবল তার যে মানসিকতার পরিবর্তন তা ব্যাখ্যা করছে। এটি সম্পর্কে বিষয় বা তর্কাত্মক কিছু নেই। উন্মুক্ত রাখতে ভোট দিন - আমি এসওতে দেখেছি 'বিশ্রাম' ট্যাগ হওয়া আরও ভাল প্রশ্নগুলির মধ্যে একটি।
কিথ গাগান

4
কীথ, "মানসিকতার পরিবর্তনের ব্যাখ্যা দিয়ে" তাঁর ব্লগে তাঁর করা উচিত, এসও-তে নয়।
জন স্যান্ডার্স

13
তিনি তার মানসিকতার পরিবর্তনের ব্যাখ্যা দিচ্ছেন না, তিনি বুঝতে পারছেন যে তার বোঝাপড়াটি সঠিক কিনা।
aehlke

4
দুর্দান্ত সংক্ষিপ্তসার। আমি বেশিরভাগ উত্তর চেয়ে এই প্রশ্ন থেকে আরও শিখেছি।
মার্টিন কনেকেনি

উত্তর:


21

আমি মনে করি আপনার ব্যাখ্যাটি বেশিরভাগ ক্ষেত্রে এটি coversেকে রাখে। ইউআরআইগুলি অস্বচ্ছ শনাক্তকারী যা বেশিরভাগ ক্ষেত্রে, অ্যাপ্লিকেশনটিতে অ্যাক্সেস পাওয়ার জন্য ব্যবহারকারী এজেন্ট দ্বারা ব্যবহৃত বুকমার্ক ইউআরআইয়ের বাইরে যোগাযোগ করা উচিত নয়।

ডকুমেন্টিং হিসাবে, এই প্রশ্ন বেশ কয়েকবার করা হয়েছে। আপনি আপনার মিডিয়া প্রকারটি হাইপারলিংক নিয়ন্ত্রণের সাথে এটির (লিঙ্কগুলি এবং ফর্মগুলি), এবং ইন্টারঅ্যাকশন মডেলটি চান যা ইচ্ছে করলে (অ্যাটমপব দেখুন) নথিভুক্ত করেন।

আপনি যদি ইউআরআই বা কীভাবে এটি তৈরি করবেন ডকুমেন্ট করেন তবে আপনি এটি ভুল করছেন।


এটা কি এখনও সত্য? আয়নস্পেকের মতো এপিআই রেসপন্স স্পেস রয়েছে যা এই ইউআরআইগুলি ইচ্ছাকৃতভাবে প্রতিক্রিয়ার অংশ হিসাবে তৈরি করেছে।
শান পিয়ানকা

হ্যা তাদের আছে. এই মুহুর্তে এটি নির্ধারণের একটি প্রশ্ন যদি সেই ডকুমেন্টেড ইউআরআইগুলি কেবলমাত্র অ্যাপ্লিকেশনটির প্রবেশদ্বার হয়, যা থাকার গ্যারান্টিযুক্ত (যাদের মধ্যে কয়েকটি অস্বাভাবিক এবং বেশ কার্যকর নয়) বা যদি লোকেরা কোড তৈরি করতে চায় তবে সেগুলি এম্বেড করা হয়েছে কোডটি সরাসরি স্ট্রাইক করে সার্ভারকে ক্লায়েন্টকে কীভাবে এটি করতে পারে তা জানাতে বাধা দেয়। ক্লায়েন্ট যদি মনে করেন যে এই চুক্তির কারণে এটি জানে, আপনি হাইপারমিডিয়ায় নন, আপনি আধুনিক যুগের ওপেনপি সাবান মডেলটিতে রয়েছেন, একই সমস্যা নিয়ে আপনি 18 বছর আগে যে সমস্যার মুখোমুখি হয়েছিলেন with
সিরিয়ালসেব

সত্যটি হ'ল গত 11 বছরে অনেকগুলি এপিআই ডকুমেন্টেশন ভাষাগুলি ফুটে উঠেছে, তবে মৌলিক পরিবর্তন হয়নি। আমি বিশ্বাস করি যে এই লিঙ্কগুলি আবিষ্কার করার মান, বা খুব কম ইউআরআই টেম্পলেট আবিষ্কারের ক্ষেত্রে, পুনরায় ব্যবহারযোগ্য জেনেরিক ক্লায়েন্ট কোড তৈরি করা যা এটিকে কার্যকরভাবে ব্যবহার করতে পারে, সার্ভারের পাশের অনেকগুলি প্রয়োগকে একই ক্লায়েন্ট কোডটি পুনরায় ব্যবহার করার সুযোগ দেয়। ইউআরআই এম্বেডিং এ জাতীয় দৃশ্যের তুলনায় আরও শক্তিশালী করে তোলে, তবে আপনি যদি এই ফর্ম্যাটগুলি ব্যবহার করেন তবে আপনি সেই চশমা থেকে উত্পন্ন ক্লায়েন্টকে দৃly়ভাবে জুটিতে ঝোঁকেন, তাই আপনি ইতিমধ্যে সেই বৈশিষ্ট্যটি হারিয়ে ফেলেছেন।
সিরিয়ালসেব

"ক্লায়েন্ট যদি মনে করেন যে এই চুক্তির কারণে এটি জানে, আপনি হাইপারমিডিয়ায় নন, আপনি আধুনিক যুগের ওপেনপি সাবান মডেলটিতে রয়েছেন, একই সমস্যা নিয়ে আপনি 18 বছর আগে যে সমস্যার মুখোমুখি হয়েছিলেন with" আপনি এর দ্বারা কী বোঝাতে চেয়েছিলেন?
শান পিয়ানকা

8

আপনার ব্যাখ্যাটি আমার কাছে সঠিক বলে মনে হচ্ছে। আমি বিশ্বাস করি যে ফিল্ডিংয়ের সীমাবদ্ধতাগুলি ব্যবহারিকভাবে প্রয়োগ করা যেতে পারে।

আমি সত্যিই একজনকে কীভাবে একটি আরইএসটি ইন্টারফেস ডকুমেন্ট করতে পারি তার কয়েকটি ভাল উদাহরণ প্রকাশ করতে দেখতে চাই। অনেকগুলি দুর্বল উদাহরণ রয়েছে, ব্যবহারকারীদের খুব মূল্যবান হতে পারে তা নির্দেশ করার জন্য কিছু বৈধ উদাহরণ রয়েছে।


4
কি দারুন. সেই রিসোর্স মডেল পৃষ্ঠাটি আমার চোখে একটি অশ্রু নিয়ে এসেছিল। আসুন আশা করি এটি একটি প্রবণতা শুরু করে।
ড্যারেল মিলার

এটি লজ্জাজনক বিষয় এটি মূলত ওয়েবে এই জাতীয় এপিআইয়ের একমাত্র উদাহরণ! সবচেয়ে খারাপ বিষয়, ক্লায়েন্ট কোডের কোনও ভাল উদাহরণ নেই যা নীতিটি একেবারে অনুসরণ করে (যা আমি খুঁজে পেয়েছি)।
jkp

4
@ ড্যারেলমিলার তবে কী সেই মিডিয়া টাইপগুলি খুব "নির্দিষ্ট" নয়? আমার কাছে মনে হয় যে তাদের এপিআই সত্যই কেবল একটি মাইম ব্যবহার করছে: application/jsonএবং রিসোর্স মডেলটি সত্যই সম্পর্ক। আমি কি বিশ্রামের এই দিকটি ভুল বুঝেছি? আমি আপনার এসও উত্তরগুলির একটিও পড়েছি যা দেখে মনে হয় যে সেই "একটি বৈশিষ্ট্য" চুক্তিগুলি এড়ানো উচিত ...
এডিশৌফি

4
@ রিচঅপোডাচা আপনার লিঙ্কটি পেটে পেটে মারা গেছে। web.archive.org/web/20170409132237/https://kenai.com/projects/…
forresthopkinsa

5

আমি HATEOAS এর পরে রচিত একটি API এর একটি ভাল উদাহরণ খুঁজছিলাম এবং এটির সন্ধান করতে আমার সমস্যা হয়েছিল (আমি সানক্লাউড এপিআই এবং অ্যাটমপব উভয় জিনিসই "স্বাভাবিক" এপিআই পরিস্থিতি প্রয়োগ করতে অসুবিধে পেয়েছি)। তাই আমি আমার ব্লগে এমন একটি বাস্তব উদাহরণ তৈরি করার চেষ্টা করেছি যা যথাযথ আরএসটি বাস্তবায়ন হওয়ার অর্থ কী তা নিয়ে রায় ফিল্ডিংসের পরামর্শ অনুসরণ করেছিল। নীতিগত দিক থেকে এটি মোটামুটি সহজ (যদিও কোনও ওয়েবপেজের বিপরীতে কোনও এপিআইয়ের সাথে কাজ করার সময় কেবল বিভ্রান্ত হচ্ছে) সত্ত্বেও উদাহরণটি উপস্থিত করা আমার পক্ষে খুব কঠিন হয়ে পড়েছে। রায় যা নিয়ে ইস্যু করছিল তা আমি পেয়েছি এবং তাতে সম্মত হচ্ছি, একটি এপিআইয়ের জন্য সঠিকভাবে প্রয়োগ করা মানসিকতার একমাত্র পরিবর্তন।

একবার দেখুন: বিশ্রাম ব্যবহার করে এপিআই উদাহরণ


4

ইউআরআই কীভাবে তৈরি করবেন সে সম্পর্কে নির্দেশ দেওয়ার ক্ষেত্রে ব্যতিক্রম হ'ল হাইপারটেক্সট প্রতিক্রিয়ায় একটি ইউআরআই টেমপ্লেট প্রেরণযোগ্য, ক্লায়েন্ট দ্বারা স্বয়ংক্রিয়ভাবে প্রতিস্থাপনের ক্ষেত্রগুলি হাইপারটেক্সটে অন্যান্য ক্ষেত্রগুলি ব্যবহার করে send এটি সাধারণত খুব বেশি ব্যান্ডউইদথ সাশ্রয় করে না যদিও gzip সংক্ষেপণ ইউআরআই এর পুনরাবৃত্তি অংশগুলি এটির জন্য বিরক্ত করার পক্ষে যথেষ্টভাবে পরিচালনা করবে।

REST এবং সম্পর্কিত HATEOAS সম্পর্কে কিছু ভাল আলোচনা:

RESTFul API গুলিগুলিতে HATEOAS ব্যবহার করার সুবিধা (এছাড়াও)

কীভাবে এক কাপ কফি পান



4

যে জিনিসটি বেশিরভাগ লোকের ভুল হয়ে যায় তা হ'ল (অন্তত আমি মনে করি) আরআরএস বিশ্বে আপনি আপনার "বিশ্রাম ইন্টারফেস" নথি করেন না, যা আপনি নথি করেছেন তা আপনার সার্ভার বা পরিষেবার স্বাধীনভাবে একটি মিডিয়া টাইপ is


2

আমি মনে করি যে সেখানে এখন আরএসইএসটি চলে গেছে, প্রযুক্তিবিদরা রিসোর্সের ধারণার সাথে একমত হয়েছিলেন এবং বাস্তবে কী বা বিশ্রাম নয় with

রিচার্ডসন ম্যাচিউরিটি মডেল অনুসারে, 4 টি স্তর (0-3) রয়েছে যা আপনার এপিআই কতটা রিস্টফুল তা সংজ্ঞায়িত করে 3 এর অর্থ একটি সত্যিকারের আরএসএফুল এপিআই, যেমন রয় ফিল্ডিং এটির ইচ্ছা করেছিল।

স্তর 0 হ'ল যখন আপনার একটি প্রবেশ পয়েন্ট ইউআরআই থাকে - যেমন এসওএপি।

স্তর 1 এর অর্থ এআইপিএল বিভিন্ন সংস্থানগুলির মধ্যে পার্থক্য করতে সক্ষম এবং এতে একাধিক এন্ট্রি পয়েন্ট রয়েছে - এখনও এসওএপি এর গন্ধ রয়েছে।

স্তর 2 হ'ল যখন আপনি HTTP ক্রিয়াগুলি ব্যবহার করেন - GET, POST, DELETE প্রাথমিকভাবে। এটিই এমন একটি স্তর যেখানে REST সত্যই ছবিতে আসে।

শ্রেনী 3, আপনি আপনার এপিআই করতে হাইপার মিডিয়া নিয়ন্ত্রণ ব্যবহার শুরু সত্যিই RESTful।

আরও পড়ার জন্য প্রস্তাবিত লিঙ্কগুলি:


1

একেবারে সঠিক. আমি আরও উল্লেখ করব যে ইউআরআই টেমপ্লেটগুলি একটি আরামদায়ক অ্যাপ্লিকেশনের মধ্যে পুরোপুরি ঠিক আছে যতক্ষণ না সার্ভারের প্রাপ্ত নথিগুলি (ওপেনসন্ধান একটি উপযুক্ত উদাহরণ হিসাবে) are ইউআরআই টেম্পলেটগুলির জন্য, আপনি কোথায় ব্যবহার করছেন এবং টেমপ্লেটে প্রত্যাশিত স্থানধারকগুলি কী তা নথী করেন তবে টেমপ্লেটগুলি সেগুলি নয়। ওয়াহনফ্রিডেন যা বলেছেন তার সামান্য বিপরীতে, এটি ব্যতিক্রম নয়।

উদাহরণস্বরূপ, আমার কাজে আমাদের একটি অভ্যন্তরীণ ডোমেন পরিচালনা ব্যবস্থা রয়েছে এবং পরিষেবা নথিতে দুটি ইউআরআই টেম্পলেট নির্দিষ্ট করে: একটি ডোমেন রিসোর্সের জন্য সেরা অনুমানের ইউআরআই উত্পাদন করার জন্য, এবং অন্যটি ডোমেনের উপলভ্যতা অনুসন্ধানের জন্য ইউআরআই গঠনের জন্য। কোনও প্রদত্ত ডোমেনের ইউআরআই কী তা নির্ধারণ করার জন্য ডোমেন সংগ্রহের মাধ্যমে পৃষ্ঠাটি এখনও পাওয়া সম্ভব, তবে এটি পরিচালনা করে এমন বিশাল ডোমেনগুলি দেওয়া, এটি ক্লায়েন্টের পক্ষে সম্ভব হবে না, তাই তাদের কী অনুমান করার উপায় প্রদান করে কোনও ডোমেন রিসোর্সের ইউআরআই হতে পারে ক্লায়েন্টের দৃষ্টিকোণ থেকে বাস্তবায়নের স্বাচ্ছন্দ্যের দিক থেকে এবং সার্ভারের ব্যান্ডউইথের ক্ষেত্রে বিশাল জয়।

আপনার প্রশ্নের উত্তর: আমাদের আদর্শিক ডকুমেন্টেশনগুলি উদ্ভাসিত সংস্থানসমূহ, সেই সংস্থানগুলিতে বিভিন্ন পদ্ধতির প্রভাব এবং ব্যবহৃত উপস্থাপনা মিডিয়া ধরণের এবং তাদের স্কিমগুলি এবং এই ধরনের নিন্দায় ইউআরআই কী ধরণের সংস্থান দেখায়।

আমরা নন-আদর্শিক (তথ্যবহুল) ডকুমেন্টেশনও অন্তর্ভুক্ত করি যা নথিতে উল্লিখিত ইউআরআইগুলিতে খুব বেশি না পড়ার দাবি অস্বীকারকারীকে সংযুক্ত করে দিয়েছে, যা সাধারণ ক্লায়েন্ট-সার্ভারের ইন্টারঅ্যাকশনগুলির উদাহরণ দেয়। এটি বরং বিমূর্ত আদর্শ নথিপত্রকে কংক্রিট পদে রাখে।


4
আপনার API এর অংশ হিসাবে ইউআরআই টেম্পলেট সরবরাহ করা ভাল। কেবল দয়া করে এটি বিশ্রাম হিসাবে উল্লেখ করবেন না, কারণ এটি নেই। এটি এক বিশাল পরিমাণে মিলন, এবং ঠিক কী এড়ানোর জন্য তৈরি হয়েছিল। তবে আপনি যেমনটি বলেছেন, REST প্রতিটি প্রয়োগের জন্য নয়। সুতরাং প্রতিটি অ্যাপ্লিকেশন বিশ্রামের ভান করবেন না।
aehlke

4
আসলে, আমি একমত। আমি যা বলেছিলাম তা বিশ্বাস করি। তবে, সত্যিই আমি ইউআরআই টেম্পলেটগুলি অফ-ব্যান্ড সরবরাহের কোনও ভাল কারণ দেখতে পাচ্ছি না।
কিথ গোগান

0

ধরে GET /foos/createFormনেওয়া যাক ফর্ম ক্ষেত্রের মানগুলি পেতে অনুরোধ করা হয়েছে যার জন্য তৈরি করতে গেলে অবশ্যই সরবরাহ করতে হবে POST /foosGET /foos/createFormফিল্ডিংয়ের প্রস্তাব অনুসারে এই নির্দিষ্ট ইউআরএল অর্থাৎ 1 টি ফুস তৈরির জন্য ব্যবহৃত 1 টি প্রতিক্রিয়াটির মধ্যে উল্লেখ করা উচিত , তাই না?
তারপরে কীভাবে কার্যকর HTTP ক্রিয়াকলাপগুলিতে ক্রিয়াগুলি ম্যাপিংয়ের সুবিধা কী, "কনভেনশন ওভার কোড / কনফিগারেশন" জিনিস বাতিল করা হয়।

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