大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Restful接口規(guī)范的介紹

Restful接口規(guī)范的介紹

更新時間:2022-05-23 09:03:43 來源:動力節(jié)點 瀏覽1445次

1.Restful

REST全稱是Representational State Transfer

RESTful是一種定義Web API接口的設(shè)計風(fēng)格,尤其適用于前后端分離的應(yīng)用模式中。

這種風(fēng)格的理念認(rèn)為后端開發(fā)任務(wù)就是提供數(shù)據(jù)的,對外提供的是數(shù)據(jù)資源的訪問接口,所以在定義接口時,客戶端訪問的URL路徑就表示這種要操作的數(shù)據(jù)資源。

事實上,我們可以使用任何一個框架都可以實現(xiàn)符合restful規(guī)范的API接口.

RESTful作為目前最流行的 API 設(shè)計規(guī)范,一定有著它獨有的魅力:強(qiáng)大、簡介、易上手.

2.Restful的十條接口規(guī)范

(1)數(shù)據(jù)的安全保障:

url鏈接一般都采用https協(xié)議進(jìn)行傳輸 注:采用https協(xié)議,可以提高數(shù)據(jù)交互過程中的安全性

(2)接口特征表現(xiàn),一看就知道是個api接口

- 用api關(guān)鍵字標(biāo)識接口url:

- [https://api.baidu.com](https://api.baidu.com/)

- https://www.baidu.com/api

注:看到api字眼,就代表該請求url鏈接是完成前后臺數(shù)據(jù)交互的

-路飛的接口:https://api.luffycity.com/api/v1/course/free/

(3)多數(shù)據(jù)版本共存

- 在url鏈接中標(biāo)識數(shù)據(jù)版本

- https://api.baidu.com/v1

- https://api.baidu.com/v2

注:url鏈接中的v1、v2就是不同數(shù)據(jù)版本的體現(xiàn)(只有在一種數(shù)據(jù)資源有多版本情況下:例如在原有版本上增加接口,類似改版,也需要保證老版本可以使用)

(4)數(shù)據(jù)即資源(均使用名詞)

接口一般都是完成前后臺數(shù)據(jù)的交互,交互的數(shù)據(jù)我們稱之為資源

https://api.baidu.com/users

https://api.baidu.com/books

https://api.baidu.com/book

注:一般提倡用資源的復(fù)數(shù)形式,在url鏈接中獎勵不要出現(xiàn)操作資源的動詞,錯誤示范:https://api.baidu.com/delete-user

特殊的接口可以出現(xiàn)動詞,因為這些接口一般沒有一個明確的資源,或是動詞就是接口的核心含義

https://api.baidu.com/place/search

https://api.baidu.com/login

(5)資源操作由請求方式?jīng)Q定(method)

- 操作資源一般都會涉及到增刪改查,我們提供請求方式來標(biāo)識增刪改查動作

- https://api.baidu.com/books - get請求:獲取所有書

- https://api.baidu.com/books/1 - get請求:獲取主鍵為1的書

- https://api.baidu.com/books - post請求:新增一本書書

- https://api.baidu.com/books/1 - put請求:整體修改主鍵為1的書

- https://api.baidu.com/books/1 - patch請求:局部修改主鍵為1的書

- https://api.baidu.com/books/1 - delete請求:刪除主鍵為1的書

(6)過濾,通過在url上傳參的形式傳遞搜索條件

- https://api.example.com/v1/zoos?limit=10:指定返回記錄的數(shù)量

- https://api.example.com/v1/zoos?offset=10:指定返回記錄的開始位置

- https://api.example.com/v1/zoos?page=2&per_page=100:指定第幾頁,以及每頁的記錄數(shù)

- https://api.example.com/v1/zoos?sortby=name&order=asc:指定返回結(jié)果按照哪個屬性排序,以及排序順序

- https://api.example.com/v1/zoos?animal_type_id=1:指定篩選條件

(7)響應(yīng)狀態(tài)碼

1)正常響應(yīng)

- 響應(yīng)狀態(tài)碼2xx

- 200:常規(guī)請求

- 201:創(chuàng)建成功

2)重定向響應(yīng)

- 響應(yīng)狀態(tài)碼3xx

- 301:永久重定向

- 302:暫時重定向

3)客戶端異常

- 響應(yīng)狀態(tài)碼4xx

- 403:請求無權(quán)限

- 404:請求路徑不存在

- 405:請求方法不存在

4)服務(wù)器異常

- 響應(yīng)狀態(tài)碼5xx

- 500:服務(wù)器異常

(8)錯誤處理,應(yīng)返回錯誤信息,error當(dāng)做key

    {
        error: "無權(quán)限操作"
    }

(9)返回結(jié)果,針對不同操作,服務(wù)器向用戶返回的結(jié)果應(yīng)該符合以下規(guī)范

GET /collection:返回資源對象的列表(數(shù)組)

GET /collection/resource:返回單個資源對象

POST /collection:返回新生成的資源對象

PUT /collection/resource:返回完整的資源對象

PATCH /collection/resource:返回完整的資源對象

DELETE /collection/resource:返回一個空文檔

(10)需要url請求的資源:需要訪問資源的請求鏈接

    # Hypermedia API,RESTful API最好做到Hypermedia,即返回結(jié)果中提供鏈接,連向其他API方法,使得用戶不查文檔,也知道下一步應(yīng)該做什么
    {
            "status": 0,
            "msg": "ok",
            "results":[
                {
                    "name":"肯德基(羅餐廳)",
                    "img": "https://image.baidu.com/kfc/001.png"
                }
                ...
                ]
        }

 

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 免费人成年短视频在线观看网站 | 国产做受视频激情播放 | 久久综合综合久久 | 日韩xoxo视频在线观看 | 看看一级毛片 | 91热成人精品国产免费 | 亚洲精品高清在线 | 亚洲精品视频观看 | 久久视屏这里只有精品6国产 | 欧美日韩激情在线 | 日韩精品一区二区三区毛片 | 亚洲天堂一区二区三区 | 国产女人久久精品 | 久久综合亚洲一区二区三区 | 最新国产精品久久精品 | 亚洲一级免费毛片 | 欧美性白人顶级hd | 国产一级淫片a免费播放口欧美 | 色综合久久久久 | 久久久精品久久视频只有精品 | 四虎hk网址| 国产成人女人视频在线观看 | 中文字幕在线免费播放 | 日韩a一级欧美一级在线播放 | aaaa日本| 免费观看欧美精品成人毛片 | 亚洲在线视频 | 91精品自在拍精选久久 | 俺去鲁婷婷六月色综合 | 亚洲欧美综合乱码精品成人网 | 国产成人99久久亚洲综合精品 | 亚洲精品日韩一区二区 | 97se在线观看 | 国产91系列 | 成人精品视频 成人影院 | 特黄特a级特别特级特毛片 特黄特黄aaaa级毛片免费看 | 久久国产乱子伦精品在 | 成人a视频| 女孕学护士一级毛片 | 久久精品免视看国产成人2021 | 久久国产免费观看精品1 |