(人間がAPIを直接参照するのとは対照的に)プログラムによる使用を目的としたAPIのHATEOASの利点を理解していません。確かに、顧客はURLスキーマにバインドされていませんが、私の考えでは同じデータスキーマにバインドされています。
たとえば、注文のアイテムを表示する場合、注文のURLをすでに発見または知っていると仮定します。
HATEOAS:
order = get(orderURL);
item = get(order.itemURL[5]);
非HATEOAS:
order = get(orderURL);
item = get(getItemURL(order,5));
最初のモデルでは、注文オブジェクトにitemURLフィールドがあるという事実を知る必要があります。2番目のモデルでは、アイテムURLを作成する方法を知っている必要があります。どちらの場合も、事前に何かを「知る」必要があるので、HATEOASは実際に何をしてくれますか?
get(orderURL);
あなたに言うべきですthe fact that the order object has an itemURL field
。