簡體   English   中英

REST API設計匯總

[英]REST API design aggregate

我們正在員工管理應用程序上創建api。 因此,在界面中有時間表,我們必須在表中顯示每行每個用戶的所有班次。 此外,每個用戶(每行)和日期(每列)都有摘要。 我們是否應該創建一個大型集合調用,例如:

GET /api/locations/{id}/shedule

這將返回所有員工,輪班,總結等。或者也許我們應該將其粉碎到幾個集合中,例如:

GET /api/locations/{id}/shifts
GET /api/locations/{id}/events
GET /api/locations/{id}/summary
GET /api/employee/{id}/summary?date_from={date_from}&date_from={date_to}

對我來說,第二種選擇更靈活,沒有理由創建新的抽象資源,這是有問題的。 我認為它顯然是接口層的一部分,不應影響API設計。

另一方面,大的聚合是最佳的,因為將減少數據庫調用並且易於緩存。

你怎么想? 是否可以依靠任何來源,文章?

兩種方法都沒有RESTful或UnRESTful的特性。 URI的語義與REST無關。 真正重要的是客戶端如何獲取URI。 如果他們在文檔中查找URI模式並填充值而不是使用鏈接,則該API不是RESTful的。

考慮到這一點,我認為與您的業務和應用程序生態系統更一致的方法是最好的方法。 如果需要,不要害怕創建聚合資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM