मैं कार्यक्रमों द्वारा उपयोग के लिए एपीआई के लिए HATEOAS के लिए लाभ को समझ में नहीं आता है (जैसा कि सीधे अपने एपीआई ब्राउज़ करने वाले मनुष्यों के विपरीत)। निश्चित रूप से, ग्राहक एक URL स्कीमा के लिए बाध्य नहीं है, लेकिन वे एक डेटा स्कीमा के लिए बाध्य हैं जो मेरे दिमाग में एक ही बात है।
उदाहरण के लिए, मान लें कि मैं किसी ऑर्डर पर कोई आइटम देखना चाहता हूं, तो मान लें कि मैंने ऑर्डर URL को पहले ही खोज लिया है या उसे पता है।
HATEOAS:
order = get(orderURL);
item = get(order.itemURL[5]);
गैर HATEOAS:
order = get(orderURL);
item = get(getItemURL(order,5));
पहले मॉडल में मुझे इस तथ्य को जानना होगा कि ऑर्डर ऑब्जेक्ट में एक आइटम क्षेत्र है। दूसरे मॉडल में मुझे यह जानना होगा कि आइटम URL का निर्माण कैसे करें। दोनों ही मामलों में मुझे समय से पहले कुछ "जानना" पड़ता है ताकि वास्तव में हेटोस मेरे लिए क्या कर रहा है?
get(orderURL);
आपको बता रहा होना चाहिएthe fact that the order object has an itemURL field
।