Restful風格接口書寫規(guī)范

URL命名原則

  • URL請求采用小寫字母涌穆,數(shù)字侨颈,部分特殊符號(非制表符)組成。
  • URL請求中不采用大小寫混合的駝峰命名方式构眯,盡量采用全小寫單詞愕难,如果需要連接多個單詞,則采用連接符“_”連接單詞
  • query parameter可以采用駝峰命名法,也可以采用下劃線命名的方式猫缭,推薦采用下劃線命名的方式葱弟,據(jù)說后者比前者的識別度要高,其中猜丹,做前端開發(fā)基本都后者翘悉,而做服務(wù)器接口開發(fā)基本用前者

概念

常用 HTTP Methods

  • GET:獲取資源
  • POST:創(chuàng)建資源
  • PUT:更新資源全部屬性
  • PATCH: 用于資源的部分屬性

冪等性

同一個RESTful接口的多次訪問,得到的資源狀態(tài)是相同的居触。

安全性

對該RESTful接口訪問妖混,不會使服務(wù)端資源的狀態(tài)發(fā)生改變。

CRUD請求定義規(guī)范(用戶和組織機構(gòu)為例)

GET:(GET 用于獲取和查詢)

獲取單個資源時轮洋,路由結(jié)構(gòu)為 /資源復(fù)數(shù)/{資源ID}; 資源為不可數(shù)名詞直接使用

HTTP方法 URI 描述 冪等 安全
GET /users 獲取用戶列表
GET /users/{id} 獲取指定用戶
GET /orgs 獲取組織列表
GET /orgs/{id} 獲取指定組織
GET /orgs/{id}/users/{id} 獲取指定組織下的用戶

POST:

只用于創(chuàng)建制市,路由結(jié)構(gòu)為 /資源復(fù)數(shù) ; 參數(shù)只能通過請求 Body 方式傳參;

HTTP方法 URI 描述 冪等 安全
POST /users 創(chuàng)建用戶
POST /orgs 創(chuàng)建組織

PUT: (PUT 用于修改/更新資源)

路由結(jié)構(gòu)為 /資源復(fù)數(shù)/{資源ID}, 只能通過 Body 方式傳參

HTTP方法 URI 描述 冪等 安全
POST /users/{id} 更新用戶
POST /orgs/{id} 更新組織

PATCH: (PATCH 用于修改/更新資源部分屬性)

路由結(jié)構(gòu)為 /資源復(fù)數(shù)/{資源ID}, 只能通過 Body 方式傳參

HTTP方法 URI 描述 冪等 安全
PATCH /users/{id} 更新用戶部分屬性
PATCH /orgs/{id} 更新組織部分屬性

DELETE:

刪除接口使用, 路由結(jié)構(gòu)為 /資源復(fù)數(shù)/{資源ID}

HTTP方法 URI 描述 冪等 安全
DELETE /users/{id} 刪除指定用戶
DELETE /orgs/{id} 更新制定組織

復(fù)雜查詢請求

HTTP方法 URI 描述 冪等 安全
GET /users?locked=1 過濾被鎖用戶
GET /users?sort=priority 按權(quán)重排序
GET /users?locked=1&sort=priority 按權(quán)重排序

特定請求

資源的特定請求

采用在資源下面定義特定的請求pattern弊予,見如下示例

HTTP方法 URI 描述 冪等 安全
GET /users/today_login 獲取今天登入用戶
GET /users/today_login?sort=loginTime 獲取今天登入用戶按登入時間排序
GET /users/action/export 導出所有用戶
PUT /users/action/audit 用戶審核
PATCH /users/{id}/password 用戶修改密碼

動作:/模塊/資源/action/{action}

非特定資源類

請求URL采用如下形式: /login /logout

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祥楣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子汉柒,更是在濱河造成了極大的恐慌误褪,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碾褂,死亡現(xiàn)場離奇詭異兽间,居然都是意外死亡,警方通過查閱死者的電腦和手機正塌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門嘀略,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乓诽,你說我怎么就攤上這事帜羊。” “怎么了鸠天?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵讼育,是天一觀的道長。 經(jīng)常有香客問我稠集,道長奶段,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任巍杈,我火速辦了婚禮忧饭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘筷畦。我一直安慰自己词裤,他們只是感情好刺洒,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吼砂,像睡著了一般逆航。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渔肩,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天因俐,我揣著相機與錄音,去河邊找鬼周偎。 笑死抹剩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蓉坎。 我是一名探鬼主播澳眷,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蛉艾!你這毒婦竟也來了钳踊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤勿侯,失蹤者是張志新(化名)和其女友劉穎拓瞪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體助琐,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡祭埂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了弓柱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沟堡。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖矢空,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情禀横,我是刑警寧澤屁药,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站柏锄,受9級特大地震影響酿箭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趾娃,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一缭嫡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抬闷,春花似錦妇蛀、人聲如沸耕突。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眷茁。三九已至,卻和暖如春纵诞,著一層夾襖步出監(jiān)牢的瞬間上祈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工浙芙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留登刺,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓嗡呼,卻偏偏與公主長得像塘砸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子晤锥,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355