1. RESTful優先原則
1.1. URL命名原則
1、 URL請求采用小寫字母,數字,部分特殊符號(非制表符)組成。
2、 URL請求中不采用大小寫混合的駝峰命名方式,盡量采用全小寫單詞,如果需要連接多個單詞,則采用連接符“_”連接單詞
3、
1.2. URL分級
第一級Pattern為模塊,比如組織管理/orgz, 網格化:/grid
第二級Pattern為資源分類或者功能請求,優先采用資源分類
1.3. CRUD請求定義規范(RESTful)
如果為資源分類,則按照RESTful的方式定義第三級Pattern,
RESTful規范中,資源必須采用資源的名詞復數定義。
/orgz/members |
GET |
獲取成員列表 |
/orgz/members/120 |
GET |
獲取單個成員 |
/orgz/members |
POST |
創建成員 |
/orgz/members/120 |
PUT |
修改成員 |
/orgz/members |
PUT |
批量修改 |
/orgz/members/120 |
PATCH |
修改成員的部分屬性 |
/orgz/members/120 |
DELETE |
刪除成員 |
1.4. 復雜查詢請求定義規范(RESTful)
/module/tickets?state=open |
GET |
過濾 |
/module/tickets?sort=-priority |
GET |
排序 |
/module/tickets?sort=-priority,created_at |
GET |
排序 |
/module/tickets?sort=-updated_at |
GET |
排序 |
/module/tickets?state=closed&sort=-updated_at |
GET |
過濾+排序 |
/module/tickets?q=return&state=open&sort=-priority,created_at |
GET |
搜索+過濾+排序 |
/module/tickets/recently_closed |
GET |
一般數據請求 |
/module/tickets?fields=id,subject,customer_name,updated_at&state=open&sort=-updated_at |
GET |
指定返回列 |
/cars?offset=10&limit=5 |
GET |
分頁 |
1.5. 特定請求
u 資源的特定請求
采用在資源下面定義特定的請求pattern,見如下示例
/module/tickets/recently_closed
備注:此情況下需要區分/module/tickets/{id},要避免URL無法區分,通用的配置請求要具備優先適配能力。
u 非特定資源類
請求URL采用如下形式: /module/buy_tickets
1.6. 頁面View請求URL規范
頁面URL僅定義在第二級,例如/orgz/xxx,xxx為orgz模塊的視圖名稱名稱。