我是REST API設計的新手。在設計API時,我對資源關係感到困惑,需要建議。REST資源中的關係
我的API有一個工作流程,每個工作流程都有一個任務。我無法決定將任務作爲獨立資源還是將其用作子資源。更確切地說:
工作流資源:
/API/V1 /工作流程
任務資源:
選項1: /API/V1 /流程/ {workflowId} /任務/ {taskId}
選項2: /api/v1/tasks/{taskId}?workflowId =「123
我通過一些堆棧溢出鏈接去了。有人說,queryString作爲一個過濾器,應該是可選的,有利於使用子資源,而其他人則喜歡將任務保持爲獨立資源,並使api url更小。
我覺得有另一種方式,我們可以讓我們的數據庫中的taskid和workflowId映射,讓用戶使用:
方案3: /API/V1 /任務/ {}任務id。
但是,這似乎是一個維護映射的巨大努力。
對此提出建議?