91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring?Boot開發RESTful接口與http協議狀態的方法

發布時間:2022-03-18 09:05:47 來源:億速云 閱讀:189 作者:iii 欄目:開發技術

這篇文章主要介紹“Spring Boot開發RESTful接口與http協議狀態的方法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Spring Boot開發RESTful接口與http協議狀態的方法”文章能幫助大家解決問題。

    一、RESTful風格API的好處

    API(Application Programming Interface),顧名思義:是一組編程接口規范,客戶端與服務端通過請求響應進行數據通信。REST(Representational State Transfer)表述性狀態傳遞,決定了接口的形式與規則。RESTful是基于http方法的API設計風格,而不是一種新的技術.

    • 看Url就知道要什么資源

    • 看http method就知道針對資源干什么

    • 看http status code就知道結果如何

    對接口開發提供了一種可以廣泛適用的規范,為前端后端交互減少了接口交流的口舌成本,是約定大于配置的體現。通過下面的設計,大家來理解一下這三句話。

    當然也不是所有的接口,都能用REST的形式來表述。在實際工作中,靈活運用,我們用RESTful風格的目的是為大家提供統一標準,避免不必要的溝通成本的浪費,形成一種通用的風格。就好比大家都知道:伸出大拇指表示“你很棒“的意思,絕大部分人都明白,因為你了解了這種風格習慣。但是不排除有些地區伸出大拇指表示其他意思,就不適合使用!

    二、RESTful API的設計風格

    2.1、RESTful是面向資源的(名詞)

    REST 通過 URI 暴露資源時,會強調不要在 URI 中出現動詞。比如:

    不符合REST的接口URI符合REST接口URI功能
    GET /api/getDogs/{id}GET /api/dogs/{id}獲取一個小狗狗
    GET /api/getDogsGET /api/dogs獲取所有小狗狗
    GET /api/addDogsPOST /api/dogs添加一個小狗狗
    GET /api/editDogs/{id}PUT /api/dogs/{id}修改一個小狗狗
    GET /api/deleteDogs/{id}DELETE /api/dogs/{id}刪除一個小狗狗

    2.2、用HTTP方法體現對資源的操作(動詞)

    GET : 獲取、讀取資源

    POST : 添加資源

    PUT : 修改資源

    DELETE : 刪除資源

    Spring?Boot開發RESTful接口與http協議狀態的方法

    實際上,這四個動詞實際上就對應著增刪改查四個操作,這就利用了HTTP動詞來表示對資源的操作。

    2.3. HTTP狀態碼

    通過HTTP狀態碼體現動作的結果,不要自定義

    200 OK 
    400 Bad Request 
    500 Internal Server Error

    在 APP 與 API 的交互當中,其結果逃不出這三種狀態:

    • 所有事情都按預期正確執行完畢 - 成功

    • APP 發生了一些錯誤 – 客戶端錯誤(如:校驗用戶輸入身份證,結果輸入的是軍官證,就是客戶端輸入錯誤)

    • API 發生了一些錯誤 – 服務器端錯誤(各種編碼bug或服務內部自己導致的異常)

    這三種狀態與上面的狀態碼是一一對應的。如果你覺得這三種狀態,分類處理結果太寬泛,http-status code還有很多。建議還是要遵循KISS(Keep It Stupid and Simple)原則,上面的三種狀態碼完全可以覆蓋99%以上的場景。這三個狀態碼大家都記得住,而且非常常用,多了就不一定了。

    2.4. Get方法和查詢參數不應該改變數據

    改變數據的事交給POST、PUT、DELETE

    2.5. 使用復數名詞

    /dogs 而不是 /dog

    2.6. 復雜資源關系的表達

    GET /cars/711/drivers/ 返回 使用過編號711汽車的所有司機

    GET /cars/711/drivers/4 返回 使用過編號711汽車的4號司機

    2.7. 高級用法:HATEOAS

    HATEOAS:Hypermedia as the Engine of Application State 超媒體作為應用狀態的引擎。
    RESTful API最好做到HATEOAS,即返回結果中提供鏈接,連向其他API方法,使得用戶不查文檔,也知道下一步應該做什么。比如,當用戶向api.example.com的根目錄發出請求,會得到這樣一個文檔。

    {"link": {
      "rel":   "collection https://www.example.com/zoos",
      "href":  "https://api.example.com/zoos",
      "title": "List of zoos",
      "type":  "application/vnd.yourformat+json"
    }}

    上面代碼表示,文檔中有一個link屬性,用戶讀取這個屬性就知道下一步該調用什么API或者可以調用什么API了。

    2.8. 資源過濾、排序、選擇和分頁的表述

    Spring?Boot開發RESTful接口與http協議狀態的方法

    2.9. 版本化你的API

    強制性增加API版本聲明,不要發布無版本的API。如:/api/v1/blog

    面向擴展開放,面向修改關閉:也就是說一個版本的接口開發完成測試上線之后,我們一般不會對接口進行修改,如果有新的需求就開發新的接口進行功能擴展。這樣做的目的是:當你的新接口上線后,不會影響使用老接口的用戶。如果新接口目的是替換老接口,也不要在v1版本原接口上修改,而是開發v2版本接口,并聲明v1接口廢棄!

    關于“Spring Boot開發RESTful接口與http協議狀態的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    本溪| 米脂县| 五指山市| 铁岭市| 忻州市| 山阴县| 新绛县| 茶陵县| 农安县| 独山县| 甘南县| 中卫市| 鸡东县| 资阳市| 西乌珠穆沁旗| 疏附县| 临泉县| 石家庄市| 郧西县| 潼关县| 田阳县| 肃南| 古浪县| 翁源县| 渝北区| 福海县| 锡林浩特市| 武功县| 长宁县| 厦门市| 丰都县| 泗洪县| 二连浩特市| 芜湖市| 清徐县| 宁武县| 锦屏县| 中宁县| 福泉市| 蒲城县| 阿克陶县|