ฉันไม่เข้าใจถึงประโยชน์ของ HATEOAS สำหรับ API ที่ใช้สำหรับโปรแกรม (ตรงข้ามกับมนุษย์ที่เรียกดู API ของคุณโดยตรง) แน่นอนว่าลูกค้าไม่ได้ถูกผูกไว้กับสคีมา URL แต่พวกเขาจะถูกผูกไว้กับสคีมาข้อมูลซึ่งเป็นสิ่งเดียวกันในใจของฉัน
ตัวอย่างเช่นสมมติว่าฉันต้องการดูรายการในคำสั่งซื้อสมมติว่าฉันได้ค้นพบหรือทราบ URL การสั่งซื้อแล้ว
HATEOAS:
order = get(orderURL);
item = get(order.itemURL[5]);
ไม่ใช่ HATEOAS:
order = get(orderURL);
item = get(getItemURL(order,5));
ในรุ่นแรกฉันต้องรู้ข้อเท็จจริงว่าวัตถุใบสั่งมีเขตข้อมูล itemURL ในรุ่นที่สองฉันต้องรู้วิธีสร้าง URL รายการ ในทั้งสองกรณีฉันต้อง "รู้" ก่อนล่วงหน้าดังนั้น HATEOAS ทำอะไรให้ฉันได้บ้าง
get(orderURL);
the fact that the order object has an itemURL field
ควรจะบอกคุณ