যেহেতু আমি বর্তমানে বুঝতে পেরেছি মূলত হেটোঅ্যাস হ'ল প্রতিটি কিছুর প্রতিক্রিয়া লিঙ্কগুলির সাথে একত্রে পরবর্তী পাঠানো সম্পর্কিত তথ্য প্রেরণ করা। একটি সাধারণ উদাহরণ সহজেই ইন্টারনেটে পাওয়া যায়: একটি অ্যাকাউন্ট সংস্থান সহ একটি ব্যাংকিং সিস্টেম। উদাহরণটি কোনও অ্যাকাউন্ট রিসোর্সে জিইটি অনুরোধের পরে এই প্রতিক্রিয়াটি দেখায়
GET /account/12345 HTTP/1.1 HTTP/1.1 200 OK
<?xml version="1.0"?>
<account>
<account_number>12345</account_number>
<balance currency="usd">100.00</balance>
<link rel="deposit" href="/account/12345/deposit" />
<link rel="withdraw" href="/account/12345/withdraw" />
<link rel="transfer" href="/account/12345/transfer" />
<link rel="close" href="/account/12345/close" />
</account>
ডেটার সাথে একসাথে লিঙ্কগুলি রয়েছে যা পরবর্তী কী করা যায় তা বলে। ভারসাম্য যদি নেতিবাচক হয় আমাদের কাছে
GET /account/12345 HTTP/1.1 HTTP/1.1 200 OK
<?xml version="1.0"?>
<account>
<account_number>12345</account_number>
<balance currency="usd">-25.00</balance>
<link rel="deposit" href="/account/12345/deposit" />
</account>
যাতে আমরা কেবল জমা করতে পারি। সব ঠিকঠাক, যদি আমরা ফিডলারটি ব্যবহার করি বা ব্রাউজারের সাথে অনুরোধ জানাতে পারি তবে সহজেই কী করা যায় তা আমরা দেখতে পাই। এই ধরণের তথ্য তখন আমাদের জন্য কার্যকর হয় যখন এপিআই এর ক্ষমতা আবিষ্কার করে এবং সার্ভারটি ক্লায়েন্টের কাছ থেকে ডিকপলড হয়।
তবে মুল বক্তব্যটি হ'ল আমরা যখন জাভাস্ক্রিপ্ট সহ এসপিএ বা একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন বা অন্যান্য অনেক কিছুর মতো একটি ক্লায়েন্ট তৈরি করি তখন আমি দেখতে পাচ্ছি না যে কীভাবে হেটোয়াস প্রাসঙ্গিক হচ্ছে। আমি যা বলতে চাইছি তা হ'ল: আমি যখন জাভাস্ক্রিপ্টে এসপিএ কোড করছি, কোডটি লেখার জন্য অবশ্যই API এ কী করা যেতে পারে তা অবশ্যই আমার জানা উচিত।
সুতরাং আমার সংস্থানগুলি, সার্ভারগুলিতে সমর্থিত পদ্ধতিগুলি, তারা কী প্রত্যাশা করে এবং সার্ভারে এজাক্স কলগুলি লিখতে এবং এমনকি ইউআই তৈরির জন্য কী ফেরত দেয় তা জানতে হবে। আমি যখন ইউআইটি তৈরি করি তখন আমার অবশ্যই জানতে হবে যে অ্যাকাউন্টটি অনুরোধ করার পরে, কেউ উদাহরণস্বরূপ এটিতে জমা করতে পারে বা আমি ইউআইতে এই বিকল্পটি সরবরাহ করতে সক্ষম হব না। এছাড়াও, এজাক্স কলটি তৈরি করতে আমানত তৈরি করতে আমার ইউআরআই জানতে হবে।
আমার অর্থ হ'ল, আমরা যখন এপিআই-তে অনুরোধ করি, তখন লিঙ্কগুলি আমাদের এপিআইটি আরও ভালভাবে আবিষ্কার এবং ব্যবহার করতে দেয় তবে যখন আমরা একটি ক্লায়েন্ট তৈরি করি তখন আমরা যে অ্যাপটি তৈরি করে যাচ্ছি সেগুলি কেবল লিঙ্কগুলির দিকে তাকাবে না এবং তারপরে নিজেই রেন্ডার করবে links সঠিক ইউআই এবং সঠিক এজ্যাক্স কল করুন।
সুতরাং, ক্লায়েন্টদের জন্য কীভাবে হাইটোয়াস গুরুত্বপূর্ণ? কেন আমরা যেভাবেই HATEOAS নিয়ে বিরক্ত হই?