রেস্ট হাতিওয়াস (পরিপক্কতা স্তর 3) কতটা দরকারী / গুরুত্বপূর্ণ?


110

আমি এমন একটি প্রকল্পের সাথে জড়িত রয়েছি যেখানে কিছু প্রবীণ দলের সদস্যরা বিশ্বাস করেন যে একটি রিচার্ড এপিআই হেটোএএস অনুগত হতে হবে এবং রিচার্ডসনের সমস্ত পরিপক্কতা স্তরগুলি প্রয়োগ করতে হবে ( http://martinfowler.com/articles/richardsonMaturityModel.html )!

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

আপনি কি মনে করেন? সত্যিকারের বিশ্ব প্রকল্পে আপনার কি হাতিওএএসের সাথে অভিজ্ঞতা আছে?


এখানে বিষয় উপর একটি ভাল নিবন্ধ হয়: medium.com/@andreasreiser94/... এটা আরপিসি হয় মূলত, পথ "বিশ্রাম" স্বাভাবিকভাবে বাস্তবায়িত হয়, ...
masterxilo

উত্তর:


213

আরইএসটি সম্প্রদায়ের কেউই বলে না যে REST সহজ। হেটোয়াস হল এমন একটি দিক যা একটি রেস্ট আর্কিটেকচারে অসুবিধা যুক্ত করে।

আপনার প্রস্তাবিত সমস্ত কারণে লোকেরা হেটোয়াস করেনা: এটি কঠিন। এটি সার্ভার সাইড এবং ক্লায়েন্ট উভয়ের ক্ষেত্রে জটিলতা যুক্ত করে (যদি আপনি আসলে এটি থেকে উপকার পেতে চান) want

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

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

এবং অ্যামাজন যত তাড়াতাড়ি তাদের অভ্যন্তরীণ প্রক্রিয়া এবং ইউআরএল কাঠামো পরিবর্তন করেছে, সেই হার্ড কোডেড ক্লায়েন্ট ব্যর্থ হয়েছিল - কারণ লিঙ্কগুলি ভেঙে গেছে।

তবুও, নৈমিত্তিক ওয়েব সার্ফাররা খুব কমই কোনও বাধা দিয়ে সারা দিন ধরে কেনাকাটা করতে সক্ষম হয়েছিল।

এটি কার্যকরভাবে বিশ্রাম, এটি কেবলমাত্র মানুষের দ্বারা বর্ধিত হয়েছে যা পাঠ্য ভিত্তিক ইন্টারফেসটির ব্যাখ্যা এবং অন্তর্নিহিত করতে পারে, একটি শপিং কার্টের সাহায্যে একটি ছোট গ্রাফিক সনাক্ত করতে পারে এবং এর অর্থ কী তা বোঝায়।

বেশিরভাগ লোকেরা লেখার সফ্টওয়্যার এটি করে না। স্বয়ংক্রিয় ক্লায়েন্ট লেখার বেশিরভাগ লোকের যত্ন নেই। অ্যাপ্লিকেশন ইঞ্জিনিয়ারের চেয়ে প্রথম স্থানে না ভাঙার চেয়ে যখন তারা ভাঙবে তখন বেশিরভাগ লোকেরা তাদের ক্লায়েন্টকে ঠিক করা সহজ করে। বেশিরভাগ লোকের কাছে যেখানে এটি গুরুত্বপূর্ণ সেখানে পর্যাপ্ত ক্লায়েন্ট নেই।

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

বড় ব্যবহারকারী ঘাঁটিযুক্ত বড় সাইটগুলিতে এই সমস্যা থাকে। তারা যখনই তাদের সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে পারে তখন লোকেদের তাদের ক্লায়েন্ট কোডটি ঝক্কিটে পরিবর্তনের জন্য বলতে পারেন না। সার্ভারগুলির বিকাশের সময়সূচী ক্লায়েন্ট বিকাশের সময়সূচির মতো নয়। API- এ আকস্মিক পরিবর্তনগুলি জড়িত প্রত্যেকের পক্ষে কেবল অগ্রহণযোগ্য, কারণ এটি উভয় পক্ষের ট্র্যাফিক এবং পরিচালনা ব্যাহত করে।

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

একটি ক্লায়েন্ট যা এর বেশিরভাগ কাজের প্রবাহকে সার্ভারে প্রতিনিধিত্ব করে এবং ফলাফলগুলির উপর কাজ করে এমন কোনও ক্লায়েন্টের চেয়ে সার্ভার পরিবর্তনের পক্ষে আরও শক্তিশালী।

তবে বেশিরভাগ লোকের সেই নমনীয়তার প্রয়োজন হয় না। তারা 2 বা 3 বিভাগের জন্য সার্ভার কোড লিখছেন, এটি সমস্ত অভ্যন্তরীণ ব্যবহার। যদি এটি ভেঙে যায় তবে তারা এটিকে ঠিক করে দেয় এবং তারা এটি তাদের সাধারণ কাজকর্মের সাথে প্রমাণিত করে।

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

REST এর বেশিরভাগ ক্ষেত্রে "আপনার এটি প্রয়োজন হয় না" বুলেট পয়েন্ট ব্যর্থ হয়। অবশ্যই, আপনি না।

আপনার যদি এটির প্রয়োজন হয় তবে এটি ব্যবহার করুন এবং এটি যেমন নির্ধারিত হয়েছে তেমন ব্যবহার করুন। REST টি এইচটিটিপি-র মাধ্যমে পিছনে পিছনে জিনিসকে কাঁপছে না। এটি কখনও ছিল না, এটি এর চেয়ে অনেক উচ্চ স্তরের।

তবে যখন আপনার রেস্ট দরকার, এবং আপনি রেস্ট ব্যবহার করেন, তখন হেটোয়াস একটি প্রয়োজনীয়তা। এটি প্যাকেজের অংশ এবং এটি কীভাবে আদৌ কাজ করে তা একটি কী।


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

2
godশ্বরকে ধন্যবাদ (বা কোড), কেউ হেটোয়াসের অসুবিধাগুলি সম্পর্কেও কথা বলছে!
ইলিয়াকাইল

6
ইউআরএল সহজেই পরিবর্তন করার ক্ষমতা আছে কি অন্য কোনও সুবিধা আছে? আপনি কেবল নতুন বিকল্প যুক্ত করতে পারবেন না কারণ মানুষের বিপরীতে প্রোগ্রামটি নতুন কোনও কিছুর সাথে কাজ করতে পারে না। এছাড়াও আপনি কেবল URL টি জানা থেকে ক্রিয়াকলাপের নাম জানার স্থান থেকে সরিয়ে নিয়েছেন।
জিমি টি।

যদি এপিআই গ্রাহক কিছু না জেনে থাকে তবে এটি কেবল ব্যবহারকারীর ক্রিয়াকলাপ 1: 1 উপস্থাপন করতে পারে
জিমি টি।

2
ইউআরএল পরিবর্তনের বিষয়ে, ভুলে যাবেন না যে আপনার ক্লায়েন্টটি ক্যাশে ব্যবহার করতে পারে এবং তাই, পূর্ববর্তী ইউআরএল হ্যান্ডেল করার জন্য আপনাকে অবশ্যই সার্ভারে আচরণ রাখতে হবে (বা কেবল একটি পুনর্নির্দেশ করুন)। এপিআইগুলি বিকশিত করার যে কোনও কৌশল হিসাবে আপনার অবশ্যই নিজের পুরানো আচরণটি চালিয়ে যেতে হবে। HATEOAS তেমন সাহায্য করে না।
ব্রুনো কস্তা

21

হ্যাঁ, আমি এপিআইতে হাইপারমিডিয়া নিয়ে কিছু অভিজ্ঞতা পেয়েছি। এখানে কিছু সুবিধা রয়েছে:

  1. অন্বেষণযোগ্য এপিআই: এটি তুচ্ছ শোনায় তবে শোষণীয় এপিআই এর শক্তিটিকে হ্রাস করবেন না। ডেটা চারপাশে ব্রাউজ করার ক্ষমতা ক্লায়েন্ট বিকাশকারীদের এপিআই এবং এর ডেটা স্ট্রাকচারের মানসিক মডেল তৈরি করা অনেক সহজ করে তোলে।

  2. ইনলাইন ডকুমেন্টেশন: লিঙ্ক সম্পর্ক হিসাবে ইউআরএল ব্যবহার ক্লায়েন্ট বিকাশকারীদের ডকুমেন্টেশনের দিকে নির্দেশ করতে পারে।

  3. সাধারণ ক্লায়েন্ট যুক্তি: একটি ক্লায়েন্ট যা কেবল নিজেরাই নির্মাণের পরিবর্তে ইউআরএল অনুসরণ করে, কার্যকর করা এবং বজায় রাখা সহজ হওয়া উচিত।

  4. সার্ভারটি ইউআরএল স্ট্রাকচারের মালিকানা গ্রহণ করে: হাইপারমিডিয়া ব্যবহার করে ক্লায়েন্টের সার্ভার দ্বারা ব্যবহৃত ইউআরএল স্ট্রাকচারের হার্ড কোডিং জ্ঞান সরিয়ে দেয়।

  5. অন্যান্য পরিষেবায় সামগ্রী লোড করা বন্ধ: হাইপারমিডিয়া প্রয়োজনীয় যখন অন্য সার্ভারগুলিতে সামগ্রী লোড করা হয় (উদাহরণস্বরূপ একটি সিডিএন)।

  6. লিঙ্কগুলির সাথে সংস্করণকরণ: হাইপারমিডিয়া API এর সংস্করণে সহায়তা করে।

  7. একই পরিষেবা / এপিআইয়ের একাধিক বাস্তবায়ন: হাইপারমিডিয়া হ'ল প্রয়োজনীয়তা যখন একই পরিষেবা / এপিআইয়ের একাধিক বাস্তবায়ন উপস্থিত থাকে। একটি পরিষেবা উদাহরণস্বরূপ পোস্ট এবং মন্তব্য যুক্ত করার জন্য সংস্থান সহ একটি ব্লগ এপিআই হতে পারে। যদি পরিষেবাটি হার্ড কোডড ইউআরএলগুলির পরিবর্তে লিঙ্ক সম্পর্কের ক্ষেত্রে নির্দিষ্ট করা থাকে তবে একই পরিষেবাটি বিভিন্ন ইউআরএলগুলিতে একাধিকবার ইনস্ট্যান্ট করা যেতে পারে, বিভিন্ন সংস্থার দ্বারা হোস্ট করা হলেও এখনও একক ক্লায়েন্টের লিঙ্কের একই সংজ্ঞায়িত সেটের মাধ্যমে অ্যাক্সেসযোগ্য।

আপনি এই বুলেট পয়েন্টগুলির গভীরতার ব্যাখ্যা এখানে পেতে পারেন: http://soabits.blogspot.no/2013/12/selling-benefits-of-hypermedia.html

(এখানে একটি অনুরূপ প্রশ্ন রয়েছে: /software/149124/ কি-is- the-benefit-of-hypermedia- hateoas যেখানে আমি একই ব্যাখ্যা দিয়েছি)


একই পরিষেবা একাধিক বাস্তবায়ন: আপনি কি বিস্তারিত ব্যাখ্যা করতে পারেন? এটি কীভাবে সাহায্য করে তা আমি দেখছি না।
আবদোন

আমি এটি লেখায় ব্যাখ্যা করার চেষ্টা করেছি। এটি সাহায্য করে?
জার্ন ওয়াইল্ড

11

রিচার্ডসনের পরিপক্কতা স্তর 3 মূল্যবান এবং এটি গ্রহণ করা উচিত। জার্ন ওয়াইল্ড ইতিমধ্যে কিছু সুবিধা এবং অন্য একটি উত্তর উইল্টের সংক্ষিপ্তসার করেছেন, এটি খুব ভালভাবে পরিপূরক করেছে।

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

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

তবে ঠিক আছে, আমাদের এপিআই সত্যই শান্ত।

এখন, ধরুন আমরা এই API এর উপরে একটি দ্বিতীয় ক্লায়েন্ট অ্যাপ্লিকেশন তৈরি করি। এই দ্বিতীয় ক্লায়েন্টটি HATEOAS ধারণাগুলি লঙ্ঘন করে এবং সংস্থানগুলি সম্পর্কে কঠোর কোডযুক্ত তথ্য রয়েছে। এটি একটি গাড়ি এবং একটি ঘর বিভিন্ন উপায়ে প্রদর্শন করে।

এখনও কি এআইপিআইএসটিকে বলা যেতে পারে RESTful? আমি তাই মনে করি. এটিআইপি-র দোষ নয় যে এর কোনও ক্লায়েন্ট HATEOAS লঙ্ঘন করেছে।

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

আমি জেআরইএসটি নামে পরিচিত আমার REST প্রয়োগের ধরণে HATEOAS এ একটি বিভাগ অন্তর্ভুক্ত করেছি


8

আমরা একটি REST স্তর 3 API তৈরি করছি যেখানে আমাদের প্রতিক্রিয়া এইচএল-জসনে রয়েছে in HATEOAS সামনের এবং পিছনের শেষ উভয়ের জন্য দুর্দান্ত তবে এটি চ্যালেঞ্জগুলির সাথে আসে। এইচএল-জসন প্রতিক্রিয়ার অভ্যন্তরে এসিএল পরিচালনার জন্য আমরা কিছু কাস্টমাইজেশন / সংযোজন করেছি (যা এইচএল-জসন মানকে ভঙ্গ করে না)।

হেটোয়াসের সবচেয়ে বড় সুবিধা হ'ল আমাদের ফ্রন্ট-এন্ড অ্যাপ্লিকেশনটিতে কোনও url লিখতে / অনুমান করার দরকার নেই। আপনার যা দরকার তা হ'ল একটি এন্ট্রি পয়েন্ট ( https://hostname) এবং সেখান থেকে আপনি কেবল প্রতিক্রিয়ার অভ্যন্তরে প্রদত্ত লিঙ্কগুলি বা টেম্প্লেটেড লিঙ্কগুলি ব্যবহার করে সংস্থানগুলি ব্যবহার করে আপনার ব্রাউজ করতে পারেন। এর মতো সংস্করণটি সহজেই পরিচালনা করা যায়, ইউআরএলগুলির নাম পরিবর্তন / প্রতিস্থাপন করা, ফ্রন্ট-এন্ড কোডটি না ভেঙে অতিরিক্ত সম্পর্কের সাথে সংস্থানগুলি বাড়ানো।

সামনের প্রান্তে সংস্থানসমূহের ক্যাচিং হ'ল স্ব লিংকগুলি ব্যবহার করে একটি কেকের টুকরো। আমরা সকেট সংযোগের মাধ্যমে ক্লায়েন্টগুলিকে সংস্থানগুলিও চাপি, যেহেতু এইচএএল-তেও রেন্ডার করা হয় আমরা সহজেই সেগুলিকে একইভাবে ক্যাশে যুক্ত করতে পারতাম।

এইচএএল-জসন ব্যবহারের আর একটি সুবিধা হ'ল প্রতিক্রিয়া মডেলটি কেমন হওয়া উচিত তা স্পষ্ট, যেহেতু একটি নথিভুক্ত মান রয়েছে যা অনুসরণ করা উচিত।

আমাদের কাস্টমাইজেশন এক আমরা একটি ক্রিয়া স্ব-লিঙ্ক অবজেক্টের অভ্যন্তরে আপত্তি বলেন যে যে front end এ প্রকাশ যা ক্রিয়া বা টি ককটেলের অপারেশন প্রমাণীকৃত ব্যবহারকারী নিজ নিজ সম্পদ সঞ্চালন করার অনুমতি দেওয়া হয় ( create:POST, read:GET, update:PUT, edit:PATCH, delete:DELETE)। এটির মতো আমাদের সামনের দিকের এসিএল সম্পূর্ণভাবে আমাদের আরএসটি এপিআই প্রতিক্রিয়া দ্বারা নির্ধারিত হয়, পুরোপুরি ব্যাক-এন্ড মডেলটিতে এই দায়িত্বটি সরানো।

সুতরাং একটি দ্রুত উদাহরণ দেওয়ার জন্য আপনার এইচএল-জসনে একটি পোস্ট অবজেক্ট থাকতে পারে যা দেখতে এরকম কিছু দেখাচ্ছে:

{
    "_links": {
        "self": {
            "href": "https://hostname/api/v1/posts/1",
            "actions": {
                "read": "GET",
                "update": "PUT",
                "delete": "DELETE"
            }
        }
    },
    "_embedded": {
        "owner": {
            "id": 1,
            "name": "John Doe",
            "email": "john.doe@example.com",
            "_links": {
                "self": {
                    "href": "https://hostname/api/v1/users/1",
                    "actions": {
                        "read": "GET"
                    }
                }
            }
        }
    },
    "subject": "Post subject",
    "body": "Post message body"
}

এখন আমাদের সম্মুখ প্রান্তে যা করতে হবে তা হ'ল AclServiceএকটি isAllowedপদ্ধতি তৈরি করে যা পরীক্ষা করে যে আমরা যে ক্রিয়াটি সম্পাদন করতে চাই তা ক্রিয়া অবজেক্টে রয়েছে কিনা che

বর্তমানে সম্মুখ-প্রান্তে এটি এতটা সহজ দেখাচ্ছে: post.isAllowed('delete');

আমার মনে হয় REST স্তর 3 দুর্দান্ত তবে এটি কিছু মাথা ব্যাথার দিকে নিয়ে যেতে পারে। আপনার কাছে REST সম্পর্কে একটি দুর্দান্ত বোঝাপড়া হওয়া দরকার এবং আপনি যদি 3 টি REST স্তরের সাথে কাজ করতে চান তবে আমি REST ধারণাটি কঠোরভাবে অনুসরণ করার পরামর্শ দেব অন্যথায় এটি কার্যকর করার সময় আপনি সহজেই আপনার পথে হারিয়ে যাবেন।

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


1
খুব ভাল উত্তর। আমি মনে করি যে এ জাতীয় ব্যবহারিক উদাহরণটি মূল প্রশ্নকর্তা যা খুঁজছিলেন।
www.admiraalit.nl

2

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

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