讓我們考慮下面的流向問題的REST API一個REST API端點:消費從資源ID
API root
|
v
user list
|
v
user details
|
v
user messages
假設我有一個客戶端使用的API,我想從ID的用戶檢索郵件42. 從我一直在研究中,我的客戶不應該知道如何「建立」網址,它應該遵循API給出的鏈接。
我該如何檢索ID爲42的用戶的郵件?
我能想到的唯一方法就是將整個API從它的根節點「移動」到用戶消息,這對我來說看起來並不漂亮或高效。
例如:
1 - GET /和獲取鏈接到用戶
2的列表 - GET /用戶/ ID = 42和獲取鏈接到與該ID的用戶的細節42
3 - ? GET/user/42 /並獲得鏈接到用戶42消息列表
4 - GET/user/42/messages /並最終獲得用戶消息
我有什麼問題嗎?根據Roy的菲爾丁論文,這是否正確? 或者可以假設消息url是「/ user/{id}/messages /」並直接發出請求嗎?
爲了簡單起見,REST API的使用者應該提供所需的API及其請求/響應結構。所以他只關心如何渲染它或以某種方式使用結果。而且,對於開發者來說,最好的做法是在構建REST API時最好使用HATEOAS概念。 – Joshi