31 Restful API 設計介紹

2021-10-02 11:02:25 字數 1899 閱讀 3197

2023年,roy thomas fielding博士在他的博士**《architectural styles and the design of network-based software architectures》中提出了幾種軟體應用的架構風格,rest作為其中的一種架構風格在這篇**中進行了概括性的介紹。

rest:representational state transfer的縮寫,翻譯:「具象狀態傳輸」。一般解釋為「表現層狀態轉換」。

rest是設計風格而不是標準。是指客戶端和伺服器的互動形式。我們需要關注的重點是如何設計rest風格的網路介面。

將api部署在專用網域名稱下:

或者將api放在主網域名稱下:

將api的版本號放在url中。

路徑表示api的具體**。每個**代表一種資源。 資源作為**,**中不能有動詞只能有名詞,一般名詞要與資料庫的表名對應。而且名詞要使用複數。

錯誤示例:

正確示例:

#獲取單個商品

#獲取所有商品

對於資源的具體操作型別,由http動詞表示。 常用的http動詞有四個。

get     select :從伺服器獲取資源。

post create :在伺服器新建資源。

put update :在伺服器更新資源。

delete delete :從伺服器刪除資源。

示例:

#獲取指定商品的資訊

get

#新建商品的資訊

post

#更新指定商品的資訊

put

#刪除指定商品的資訊

delete

如果資源資料較多,伺服器不能將所有資料一次全部返回給客戶端。api應該提供引數,過濾返回結果。 例項:

#指定返回資料的數量

?limit=10

#指定返回資料的開始位置

?offset=10

#指定第幾頁,以及每頁資料的數量

?page=2&per_page=20

伺服器向使用者返回的狀態碼和提示資訊,常用的有:

200 ok  :伺服器成功返回使用者請求的資料

201 created :使用者新建或修改資料成功。

202 accepted:表示請求已進入後台排隊。

400 invalid request :使用者發出的請求有錯誤。

401 unauthorized :使用者沒有許可權。

403 forbidden :訪問被禁止。

404 not found :請求針對的是不存在的記錄。

406 not acceptable :使用者請求的的格式不正確。

500 internal server error :伺服器發生錯誤。

一般來說,伺服器返回的錯誤資訊,以鍵值對的形式返回。

針對不同結果,伺服器向客戶端返回的結果應符合以下規範。

#返回商品列表

get

#返回單個商品

get /cup

#返回新生成的商品

post

#返回乙個空文件

delete

伺服器返回的資料格式,應該盡量使用json,避免使用xml。

RESTful API 設計指南

網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置 因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致api構架的流行,甚至出現 api first 的設計思想。restful api是目前比較成熟的一套網際網路應用程式的...

RESTful API 設計指南

網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置.因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致api構架的流行,甚至出現 api first 的設計思想。restful api是目前比較成熟的一套網際網路應用程式的...

RESTful API 設計指南

原文 網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置.因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致 api 構架的流行,甚至出現 api first 的設計思想。restful api 是目前比較成熟的一套網際網...