[英]how to choose the correct rest api endpoint url
我有 3 個 collections
Stores
url: /api/stores
Practitioners
單 object 有參考店鋪有時間表 object
url: /api/stores/:id/practitioners
Appointments
單 object 有參考店家和從業人員和退貨預約
url: /api/stores/:id/appointments
我想要的是獲得單個從業者的可用預約時間,但我不確定請求應該采用 RESTful api 方式到哪個端點 url
資源可以被認為是文檔的概括。
URL/URI 是文檔特定實例的標識符。
REST 不關心您為標識符使用的拼寫,這意味着您在設計中有額外的自由 - 您可以選擇其他方式有用的拼寫。 通常的答案是選擇一種拼寫方式,該拼寫方式可以向人們提示正在識別哪個文檔實例。
這個想法是標識符應該在文檔中有意義,或者當它們出現在訪問日志或瀏覽器歷史記錄中時。
在您的情況下,您有描述可用預約時間的文檔,因此通常的答案是弄清楚該文檔的名稱是什么,然后使用 RFC 3986 的約束來確定如何表達該名稱。
如果您可以訪問域專家,他們可能會告訴您該文檔在您的域中是什么。 但它可能是一個schedule
或calendar
。
問題是 REST API 希望您在引用例如 /api/practitioners 時訪問集合
這不是REST 約束。 /api/practitioners
標識一個資源,該資源支持與 web 上的所有其他資源相同的語義。
對資源標識符及其表示的約束來自其他地方。
例如,JSON:API 將原始數據限制為“單一資源”和“資源集合”,並限制每個資源的表示。 Atom Pub 描述了成員和 Collections。 Rails生成一系列相關資源。
但是 REST 架構風格的參考應用是全球 web 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.