最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

編碼規(guī)范

2023-02-19 09:32 作者:小劉Java之路  | 我要投稿

RESTful ?API

RESTful 是?種架構(gòu)設(shè)計(jì)?格。核?思想是?切皆資源。RESTful架構(gòu)中,將所有的東?都視為資源, 每個(gè)資源對(duì)應(yīng)了?個(gè)URI(統(tǒng)?資源標(biāo)識(shí)符)所有的操作都是對(duì)資源的增刪改查,這些操作對(duì)應(yīng)了 HTTP 的 GET、POST、PUT、DELETE。

Endponits(端點(diǎn))

端口是特定資源集合URL。在端點(diǎn)的設(shè)計(jì)中,你必須遵循下列約定:

  • URL 的命名必須 全部小寫(xiě),多個(gè)單詞使用中橫線(xiàn)-連接,而不是使用下劃線(xiàn)-

瀏覽器中超鏈接顯示的默認(rèn)效果是,?字并附帶下劃線(xiàn),如果API以 _ 隔斷單詞,?者會(huì)重疊,影響可讀 性。

  • URL中的資料(resource)的命名必須是名詞,并且必須是復(fù)數(shù)形式

  • 必須優(yōu)先使用RESTful類(lèi)型的URL

  • URL必須是易讀的。

    在實(shí)際的項(xiàng)目開(kāi)發(fā)中,為了保證URL的全局統(tǒng)一,這里規(guī)定URL必須添加系統(tǒng)名,并且所有的URL必須使用

    /api作為前綴。

如下所示:??

/api/<系統(tǒng)名>/< 資源名 >/<?資源名>

注意:

1.URL通常區(qū)別大小寫(xiě)(機(jī)器名稱(chēng)除外)參考W3C ? URL規(guī)范

2.Tomcat中URL就是區(qū)分大小寫(xiě),URL參數(shù)同樣區(qū)分大小寫(xiě)。且URL格式驗(yàn)證非常格式。

舉例:

http://api.highzap.com/api/users 能正常訪(fǎng)問(wèn)。?地址:http://api.highzap.com//api/users (僅僅是多了?個(gè) “/”)訪(fǎng)問(wèn)時(shí)會(huì)響應(yīng)404 找不到此路徑。同樣的情況在 .NET寫(xiě)的?站中卻能正常訪(fǎng) 問(wèn),且URL與參數(shù)都不區(qū)分??寫(xiě)。

HTTP 動(dòng)詞

客戶(hù)端對(duì)于資源的具體操作類(lèi)型(增刪改查),由 HTTP 動(dòng)詞表示。常?的 HTTP 動(dòng)詞有下?五個(gè)

  • GET (get) :從服務(wù)器取出資源(?項(xiàng)或多項(xiàng))。

  • POST ?(post) :在服務(wù)器新建?個(gè)資源。

  • PUT ?(put) : 在服務(wù)器更新資源(客戶(hù)端提供改變后的完整資源)。

  • PATCH (patch): 在服務(wù)器更新資源(客戶(hù)端提供改變的屬性)。

  • DELETE (delete) : 從服務(wù)器刪除資源。

其中

1.刪除資源 必須 使? DELETE ?法

2.創(chuàng)建資源 必須 使? POST ?法

3.更新資源 應(yīng)該 使? PUT ?法

4.獲取資源信息 必須 使? GET ?法


針對(duì)每?個(gè)端點(diǎn)來(lái)說(shuō),下?列出所有可?的 HTTP 動(dòng)詞和端點(diǎn)的組合

Java實(shí)現(xiàn)代碼參考 ?

https://www.yuque.com/docs/share/f28a24ea-32f8-4f03-8e1f-80e1dd84b27f?# 《Maven私服配置》

問(wèn)題:

能不能在我以前的maven的settings的配置中配置私服

Version (版本管理)

  • 在URL中嵌入版本編號(hào)


    • 這種做法是版本號(hào)直觀、易于調(diào)試,緩存友好。

    • 1.這種做法是版本號(hào)直觀、易于調(diào)試,緩存友好。

  • Filter (資源過(guò)濾)


    • 對(duì)于資源集合來(lái)說(shuō),可以通過(guò)URL參數(shù)對(duì)其進(jìn)?過(guò)濾。

  • 常見(jiàn)的過(guò)濾參數(shù)

??常見(jiàn)的過(guò)濾參數(shù):

?limit=10:指定返回記錄的數(shù)量 ?offset=10:指定返回記錄的開(kāi)始位置。

?page=2&size=100:指定第??,以及每?的記錄數(shù)。

?sort_by=name&order=asc:指定返回結(jié)果按照哪個(gè)屬性排序,以及排序順序。

?station_type_id=1:指定篩選條件

  • URL參數(shù)命名規(guī)范

所有 URL 參數(shù) 必須是全?寫(xiě), 必須 使?下劃線(xiàn) _ 類(lèi)型的參數(shù)形式。

注意:是URL參數(shù)采取全?寫(xiě)的形式,多個(gè)單詞間使? "_" 分隔。

經(jīng)常使?的、復(fù)雜的查詢(xún) 應(yīng)該 標(biāo)簽化,降低維護(hù)成本。如

1 ?列出未關(guān)閉的按照名稱(chēng)升序排列的交易信息

2 GET /trades?status=closed&sort=sortby=name&order=asc

3 # 可為其定制快捷?式

4 GET /trades/recently_closed

  • pagination (分頁(yè))

分?就是?種最典型的資源過(guò)濾,分?參數(shù)必須固定為 page 、 size 、其他參數(shù)



JWT (Json Web Token) 是?業(yè)普遍采?的?種認(rèn)證協(xié)議

客戶(hù)端在獲得 access_token 的同時(shí)在響應(yīng)中還包含?個(gè)名為 expires_in 的數(shù)據(jù),它表示當(dāng)前 token 會(huì)在多少秒后失效, refresh_token 刷新令牌?于在 token 到期后重新獲取 token ,?般 refresh_token 的過(guò)期時(shí)間為?個(gè)?,? token 的過(guò)期時(shí)間則?較短。

{
2?"access_token":?"token ...",
3?"refresh_token":?"refresh_token ...",
4?"token_type":?"Bearer",
5?"expires_in":?3600
6?}

  • 客戶(hù)端請(qǐng)求時(shí)攜帶Token

客戶(hù)端在請(qǐng)求需要認(rèn)證的 API 時(shí), 必須 在請(qǐng)求頭 Authorization 中帶上 access_token

Authorization: Bearer ? <Token>

  • 令牌過(guò)期/?效

當(dāng)使?過(guò)期/或?效的 token 訪(fǎng)問(wèn)時(shí),服務(wù)端 應(yīng)該 返回 401 錯(cuò)誤碼。

1?HTTP/1.1?401?Unauthorized
2?Content-Type:?application/json
3?Cache-Control:?no-store
4?Pragma:?no-cache
5
6?{
7?"errcode":401001
8?"errmsg":?"?效的令牌"
9?}


Response (響應(yīng))

所有的 API 響應(yīng),必須遵守 HTTP 的設(shè)計(jì)規(guī)范, 必須 選擇合適的 HTTP 狀態(tài)碼。?定不可 所有接? 都返回狀態(tài)碼為 200HTTP 響應(yīng)。

比如:

  • 常見(jiàn)的HTTP狀態(tài)碼


只有來(lái)?客戶(hù)端的請(qǐng)求被正確的處理后才能返回 2xx 的響應(yīng),所以當(dāng) API 返回 2xx 類(lèi)型的狀態(tài)碼時(shí), 前端 必須 認(rèn)定該請(qǐng)求已處理成功。


  • 詳細(xì)的錯(cuò)誤格式:

當(dāng) API 發(fā)?錯(cuò)誤時(shí), 必須 返回錯(cuò)誤時(shí)的詳細(xì)信息??紤]到易讀性和客戶(hù)端的易處理性,我們 必須 把 錯(cuò)誤信息直接放到響應(yīng)實(shí)體中,并且錯(cuò)誤格式 應(yīng)該 滿(mǎn)?如下格式:

1?{
2?"errmsg":?"您查找的資源不存在",
3?"errcode":?404001
4?}


  • errcode (錯(cuò)誤碼)的命名規(guī)范

errcode 編碼由相關(guān)后端開(kāi)發(fā)?員定義管理。強(qiáng)烈建議后端記錄?志時(shí)將 errcode 記錄到?志中, ?便后端根據(jù) errcode 檢索錯(cuò)誤。


  • 詳細(xì)的錯(cuò)誤信息



常見(jiàn)API的返回說(shuō)明:

200 ok

SpringBoot 中 RestController 獲取各種請(qǐng)求參數(shù)的方法

公眾號(hào)關(guān)注一波



編碼規(guī)范的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
临沧市| 贵溪市| 永修县| 南华县| 阿鲁科尔沁旗| 柘荣县| 泾川县| 沂源县| 呼和浩特市| 抚松县| 五指山市| 巨鹿县| 扎兰屯市| 隆化县| 吉林省| 宁陕县| 通许县| 招远市| 秭归县| 古丈县| 梅河口市| 大城县| 通山县| 新干县| 兴义市| 潮州市| 建平县| 湘潭市| 山西省| 呈贡县| 上高县| 汶上县| 嘉祥县| 郴州市| 安吉县| 蒲城县| 海口市| 呼伦贝尔市| 佛冈县| 临西县| 民和|