Saya tidak mengerti manfaat dari HATEOAS untuk API yang dimaksudkan untuk digunakan oleh program (sebagai lawan dari manusia yang secara langsung menelusuri API Anda). Tentu, pelanggan tidak terikat pada skema URL tetapi mereka terikat pada skema data yang merupakan hal yang sama dalam pikiran saya.
Misalnya, anggap saya ingin melihat item pada pesanan, anggap saya telah menemukan atau mengetahui URL pesanan.
HATEOAS:
order = get(orderURL);
item = get(order.itemURL[5]);
non-HATEOAS:
order = get(orderURL);
item = get(getItemURL(order,5));
Dalam model pertama saya harus tahu fakta bahwa objek pesanan memiliki bidang itemURL. Dalam model kedua saya harus tahu cara membuat URL item. Dalam kedua kasus saya harus "mengetahui" sesuatu sebelumnya sehingga apa yang sebenarnya dilakukan HATEOAS untuk saya?
get(orderURL);
harus memberi tahu Andathe fact that the order object has an itemURL field
.