ইদানীং আমি হাইপারমিডিয়া সম্পর্কে ইঞ্জিন অফ অ্যাপ্লিকেশন স্টেট (হ্যাটোওএএস) হিসাবে পড়ছি, এটি একটি প্রতিবন্ধকতা যা একটি ওয়েব এপিআইকে "সত্যিকারের রেস্টস্টুল" হিসাবে দাবি করে is এটি বর্তমান অবস্থা থেকে আপনি যে সম্ভাব্য রূপান্তর করতে পারেন তার প্রতিটি প্রতিক্রিয়াটির সাথে মূলত লিঙ্কগুলি অন্তর্ভুক্ত করে।
আমার বোঝার উপর ভিত্তি করে হেটোয়াস কী তা বর্ণনা করার জন্য - এবং আমি যদি কিছু মিস করি তবে দয়া করে আমাকে সংশোধন করুন।
/
GET: {
"_links": {
"child": [
{ "href": "http://myapi.com/articles", "title": "articles" }
]
}
}
/articles?contains=HATEOAS
GET: {
"_items": [
{ "uri": "http://myapi.com/articles/0", "title": "Why Should I Care About HATEOAS?" },
{ "uri": "http://myapi.com/articles/1", "title": "HATEOAS: Problem or Solution?" }
],
"_links": {
"self": { "href": "http://myapi.com/articles", "title": "articles" },
"parent": { "href": "http://myapi.com/", "title": "home" }
}
}
POST: {
"title": "A New Article",
"body": "Article body",
"tags": [ "tag1", "tag2" ]
}
/articles/0
GET: {
"title": "Why Should I Care About HATEOAS?",
"body": "Blah blah blah"
"tags": [ "REST", "HATEOAS" ],
"_links": {
"self": { "href": "http://myapi.com/articles/0", "title": "article" },
"parent": { "href": "http://myapi.com/articles", "title": "articles" }
}
}
HATEOAS দুটি প্রধান সুবিধা প্রদান করার জন্য দাবি করা হয়েছে:
মূল পরিষেবাটি ইউআরআই মূল রূপটি আবিষ্কার করার যোগ্য, ডকুমেন্টেশনের আর প্রয়োজন নেই।
ক্লায়েন্টটি সার্ভার থেকে ডিউলড হয়েছে যা এখন ইউআরআই কাঠামোকে অবাধে পরিবর্তন করতে পারে। এটি API সংস্করণকরণের প্রয়োজনীয়তা দূর করে।
তবে আমার দৃষ্টিতে, কোনও পরিষেবা তার ইউআরআই কাঠামোর চেয়ে অনেক বেশি। এটি কার্যকরভাবে ব্যবহার করতে, আপনার আরও জানতে হবে:
- আপনি কী ক্যোয়ারী প্যারামিটারগুলি ব্যবহার করতে পারেন এবং তাদের সম্ভাব্য মানগুলি
- জেএসএন / এক্সএমএল এর কাঠামো / আপনার পোষ্ট / প্যাচ / ইত্যাদি অনুরোধে আপনার যা যা ডকুমেন্ট প্রেরণ করতে হবে
- সার্ভার দ্বারা প্রেরিত প্রতিক্রিয়ার কাঠামো
- সম্ভাব্য ত্রুটিগুলি ঘটতে পারে
- ...
উপরের উপর ভিত্তি করে, HATEOAS কেবল আবিষ্কার এবং মিলনের সমস্যাগুলির একটি ক্ষুদ্র ভগ্নাংশ সমাধান করে। আপনাকে এখনও উপরের চারটি দিকটি নথিভুক্ত করতে হবে এবং ক্লায়েন্টরা তাদের কারণে এখনও সার্ভারের সাথে দৃ strongly়ভাবে মিলিত হবে। ক্লায়েন্টদের বিরতি এড়াতে, আপনাকে এখনও আপনার এপিআই সংস্করণ করতে হবে।
এটির একমাত্র উপকারটি হ'ল আপনি নিজের URL কাঠামো আরও বা কম নির্বিঘ্নে পরিবর্তন করতে পারেন (উপায় দ্বারা, "শীতল ইউআরআই পরিবর্তন হয় না" নীতির কী হয়েছিল ?)। আমার বোধগম্যতা কি সঠিক?