Restful風格api設計(倒置)
批量操作的倒置
往往有這樣一種情況,使用者需要對列表頁的多行記錄進行批量操作,如果要求前端逐個向後端請求既不能保證操作的一致性(雖然批量操作時後端也未必能保證事務),也在檢視操作日誌時產生困惑。所以儘量一次請求,那麼api怎麼設計呢,下面以給多個學員分配一個老師為例(一個學員只能有一個老師,而一個老師可以有多個學生)
soap
一種容易設計出來的方式是soap風格
{
"teacherId":"老師",
"studentIds":["學生1","學生2"]
}
這種情況下就和url來鎖定resource不相符了。如果是restful風格如何處理呢
原語義
PUT /api/student?id=學生1&id=學生2 {"teacherId":"老師"}
這種情況id在?後面,有點和restful感覺不一樣
倒置
PUT/PATCH /api/teacher/001
{"studentIds":["學員1","學員2"]}
至於使用PUT還是PATCH取決於語義,是替換這個老師的學員還是給這個老師增加學員
相關推薦
Restful風格api設計(倒置)
批量操作的倒置 往往有這樣一種情況,使用者需要對列表頁的多行記錄進行批量操作,如果要求前端逐個向後端請求既不能保證操作的一致性(雖然批量操作時後端也未必能保證事務),也在檢視操作日誌時產生困惑。所以儘量一次請求,那麼api怎麼設計呢,下面以給多個學員分配一個老師為例(一個學員只能有一個老師,而一
聖熙女鞋API設計(一)
mar detail result arch eid api 個人 ext sum 女鞋API 數據結構定義 //Product //產品數據對象解構 { id:101, name:‘產品名‘, summary:‘產品簡介‘, image:
Restful風格API介面開發springMVC篇(put delete請求如何設定)
Restful風格API介面開發springMVC篇 Restful風格的API是一種軟體架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。
Yii2框架RESTful API教程(一) - 快速入門
比較 exp values cnblogs -- restful extends .cn pat 前不久做一個項目,是用Yii2框架寫一套RESTful風格的API,就去查了下《Yii 2.0 權威指南 》,發現上面寫得比較簡略。所以就在這裏寫一篇教程貼,希望幫助剛接觸Yi
Yii2框架RESTful API教程(二) - 格式化響應,授權認證和速率限制
formatter loginurl 而不是 filters ica cat 表示 程序 ssi 之前寫過一篇Yii2框架RESTful API教程(一) - 快速入門,今天接著來探究一下Yii2 RESTful的格式化響應,授權認證和速率限制三個部分 一、目錄結構 先
API安全設計(1)
技術 ref 項目 creat 升序 服務器 sig base test 1、API簡介 這段時間和外部公司合作,一直在寫對外API接口。提供的API接口是基於http協議的,也是無狀態的。每次請求都必須帶上身份認證信息。後臺服務對身份信息進行校驗。 基於HTTP協議的AP
REST API設計指導——譯自Microsoft REST API Guidelines(三)
前面我們說了,如果API的設計更規範更合理,在很大程度上能夠提高聯調的效率,降低溝通成本。那麼什麼是好的API設計?這裡我們不得不提到REST API。 關於REST API的書籍很多,但是完整完善實踐豐富的設計指導並不多見,我們有幸看到了微軟團隊的作品——Microsoft REST API Guidel
REST API設計指導——譯自Microsoft REST API Guidelines(四)
前言 前面我們說了,如果API的設計更規範更合理,在很大程度上能夠提高聯調的效率,降低溝通成本。那麼什麼是好的API設計?這裡我們不得不提到REST API。 關於REST API的書籍很多,但是完整完善實踐豐富的設計指導並不多見,我們有幸看到了微軟團隊的作品——Micro
SpringBoot 學習-restful api 開發(二)
SpringBoot 開發resful api 比之前mvc restful api 更為快捷和簡單。正所謂 沒有對比就沒有傷害,在介紹SpringBoot的寫法之前,我們先看看SpringMVC 是如果實現 restful api的。在這裡我將寫一個使用者的增刪該查 res
REST API設計指導——譯自Microsoft REST API Guidelines(一)
前言 前面我們說了,有章可循,有據可依,有正確的產品流程和規範,我們的工作才不至於產生混亂,團隊的工作才能更有成效。我們經常見到,程式開發可能只用了半個月,但是介面的聯調卻經常需要花費半個月甚至一個月左右。 如果API的設計更規範更合理,在很大程度上能夠提高聯調的效率,降低溝通成本。那麼什麼是好的AP
REST API設計指導——譯自Microsoft REST API Guidelines(二)
由於文章內容較長,只能拆開發布。翻譯的不對之處,請多多指教。 另外:最近團隊在做一些技術何架構的研究,視訊教程只能爭取週末多錄製一點,同時預計在下週我們會展開一次直播活動,內容圍繞容器技術這塊。 所有章節我們翻譯校對完成後,將會將最終定稿簽入到我們的Github開源庫託管,方便大家查閱和校正。同時,我們推
基於 springMVC 的 RESTful HTTP API 實踐(服務端)
理解 REST REST(Representational State Transfer),中文翻譯叫“表述性狀態轉移”。是 Roy Thomas Fielding 在他2000年的博士論文中提出的。它與傳統的 SOAP Web 服務區別在於,REST關注的是要處理的資料,而 SOAP 主要關注行為和
OpenStack之RESTful API呼叫(一)
前面兩篇文章分析了OpenStack同一組件下不同模組之間的通訊方式——RPC。這篇文章我們來繼續看一下OpenStack中的另一種通訊方式——RESTful API。 在OpenStack中,RESTful API用於不同元件之間的通訊。先來簡單的瞭解一下REST吧。 R
OpenStack之RESTful API呼叫(二)
接著上面的文章,我們繼續來談RESTful API。我們知道RESTful API訪問的URL都稱之為“資源”。一個資源可能是一個集合,也可能是一個個體。要實現複雜的功能,不可能只通過一條URL來完成,因此必須定義多條URL,如何定義多條URL也是RESTful API要考
JavaScript高級程序設計(2)在HTML中使用JavaScript
有效 頁面 itl 延遲腳本 文件包含 其他 amp 體驗 url 本章內容:使用<script>元素、嵌入腳本與外部腳本、文檔模式對JavaScript的影響、考慮禁用JavaScript的場景。 1.<script>元素 向HTML頁面中
基於RTP的h.264視頻傳輸系統設計(一)
-i 感謝 項目 頻率 算術 處理 rop sel 決定 一、H.264 的層次介紹 H.264 定義三個層次,每一個層次支持一組特定的編碼功能。而且按照各個層次指定所指定的功能。基礎層次(baselineprofile)支持 I 幀和 P 幀【1】的幀內和幀間
面向對象設計(OOD)七大原則
蓋房子 出了 也不能 說我 開放 華麗 white 盡心 -a 這篇文章我會不停的維護它,它將會越來越長,但它是關於我在面向對象中的一些學習的思考心得。希望對自己對各位都能實用處。 開篇前,說明一下寫這篇文章的原因。原因是由於設計模式。由於設計模式裏的
JavaScript高級程序設計(3)基本概念 中
算數 variable 多個 產生 加法 關系操作符 style 語句 移動 操作符 ECMA-262描述了一組用於操作數據值的操作符,包括算數操作符、位操作符、關系操作符和相等操作符。他們能夠適應很多值,例如字符串、數字值、布爾值甚至對象。在應用對象時,相應的操作符
JavaScript高級程序設計(3)基本概念
能力 傳遞參數 情況 func 循環語句 數值 con boolean fin 語法:通常使用一或多個關鍵字來完成給定任務。 if語句: 條件可以是任意表達式;而且對這個表達式求值的結果不一定是布爾值。ECMAScript會自動調用Boolean()轉換函數將這個表達式的結
需求分析與數據庫設計(二)
-s size spa blog png 設計 需求分析 技術 詳細 需求分析: 作為一名觀眾, 我希望知道詳細的隊伍比分變化和隊伍得分信息, 以便於了解比賽信息和運動員的精彩得分 用例圖: 數據庫設計: 用mvc中自帶的 數據庫SQL Server