RESTFUL風格Api 狀態碼

2022-06-09 11:51:08 字數 2046 閱讀 6439

1.1 什麼試restful

rest與技術無關,代表的是一種軟體架構風格(rest是representational state transfer的簡稱,中 文翻譯為「表徵狀態轉移」)

rest從資源的角度類審視整個網路,它將分布在網路中某個節點的資源通過url進行標識

所有的資料,不過是通過網路獲取的還是操作(增刪改查)的資料,都是資源,將一切資料視為資 源是rest區別與其他架構風格的最本質屬性

對於rest這種面向資源的架構風格,有人提出一種全新的結構理念,即:面向資源架構(roa: resource oriented architecture)

1.web開發本質 (***)

對資料庫中的表進行增刪改查操作

restful風格就是把所有資料都當做資源,對錶的操作就是對資源操作

在url同通過 資源名稱來指定資源

通過 get/post/put/delete/patch 對資源的操作

2.restful api設計規範

1.api與使用者的通訊協議,總是使用https協議

2 網域名稱

1) 子網域名稱方式:

2)  url 方式

3. 版本

url,如:/v1

請求頭   跨域時,引起傳送多次請求

4 面向資源程式設計 :程式,視網路上任何東西都是資源,均使用名詞表示 (可複數)

/v1/zoos

/v1/animals

/v1/employees

5 method

get(查詢資料)     # 從伺服器取出資源(一項或多項)

post(建立資料)    # 在伺服器新建乙個資源

put(修改資料)     # 在伺服器更新資源(客戶端提供改變後的完整資源)

patch(修改屬性)   # 在伺服器更新資源(客戶端提供改變的屬性)

delete(刪除資料)  # 從伺服器刪除資源

6. 過濾,分頁,排序 :通過url上傳參的形式傳遞搜尋條件

/v1/zoos?limit=10:指定返回記錄的數量

/v1/zoos?offset=10:指定返回記錄的開始位置

/v1/zoos?page=2&per_page=100:指定第幾頁,以及每頁的記錄數

/v1/zoos?sortby=name&order=asc:指定返回結果按照哪個屬性排序, 以及排序順序

/v1/zoos?animal_type_id=1:指定篩選條件

狀態碼:

200 請求成功,一般用於get與post請求

201 created -[post/put/patch] :新戶新建或修改資料成功

202  accepted [*] :表示乙個請求已經進入後台排隊

204 no content -[delete]: 使用者刪除資料成功

301 no content  永久量定向

302 no content  臨時量定向

400 invalid request [post/put/patch] : 用

戶發出的請求有錯誤

# 401 unauthorized - [*]:表示使用者沒有許可權(令牌、使用者名稱、密碼錯誤)。

# 403 forbidden - [*] 表示使用者得到授權(與401錯誤相對),但是訪問是被禁止的。

# 404 not found - [*]:使用者發出的請求針對的是不存在的記錄。

# 406 not acceptable - [get]:使用者請求的格式不可得(比如使用者請求json格式,但是只有xml格 式)。

# 410 gone -[get]:使用者請求的資源被永久刪除,且不會再得到的。

# 422 unprocesable entity - [post/put/patch] 當建立乙個物件時,發生乙個驗證錯誤。 '''4. 5xx服務端錯誤'''

# 500 internal server error - [*]:伺服器內部錯誤,無法完成請求

# 501 not implemented     伺服器不支援請求的功能,無法完成請求

RESTful風格API介面及狀態碼

1.1 什麼是restful 1.web開發本質 2.restful api設計規範 1 子網域名稱方式 盡量將api部署在專用網域名稱 會存在跨 域問題 2 url方式 api api很簡單url 如 v1 請求頭跨域時,引發傳送多次請求 v1 zoos v1 animals v1 employe...

什麼RESTful風格API

一 url 設計 1.1 動詞 賓語 restful 的核心思想就是,客戶端發出的資料操作指令都是 動詞 賓語 的結構。比如,get articles這個命令,get是動詞,articles是賓語。動詞通常就是五種 http 方法,對應 crud 操作。get 讀取 read post 新建 cre...

restful風格API簡述

3 springboot簡述 rest是representational state transfer的縮寫 維基百科上的表達是可重新表達的狀態 rest是設計風格不是標準,按照這個風格設計出的api就叫restful api 1 資源 資源這個詞在rest中是被省略的主語資源本身是乙個具體的資訊,...