前端接口規(guī)范

restful接口規(guī)范:就是為了采用不同的后臺(tái)語(yǔ)言,也能使用同樣的接口獲取到同樣的數(shù)據(jù)

1、接口詳情:

接口url地址?

接口說(shuō)明

2、method請(qǐng)求方式:get、post、delete、put、update等

3、請(qǐng)求參數(shù)和返回參數(shù):(請(qǐng)求參數(shù)和返回參數(shù)都分為:字段、說(shuō)明、類型、數(shù)據(jù)格式、是否必填這5列)

字段:屬性名

說(shuō)明:中文釋義

類型:屬性的類型,只有Undefined、Null、Boolean、String、Number、Object、Array

是否必填:是/否

數(shù)據(jù)格式:【默認(rèn)JSON】

請(qǐng)求參數(shù):

分為4種類型:

1)、cookie:? ? ? ? 一般用于OAuth認(rèn)證

2)、request header: 一般用于OAuth認(rèn)證

3)、請(qǐng)求body數(shù)據(jù):

4)、地址欄參數(shù):

2 restful 地址欄參數(shù) /v1/products/ID ID為產(chǎn)品編號(hào),獲取產(chǎn)品編號(hào)為ID的信息

2 get方式的查詢字段 /v1/products?sortBy=name&order=asc? 指定返回結(jié)果按照哪個(gè)屬性排序,以及排序順序。

返回參數(shù),要分兩種情況討論,接口調(diào)用成功或者失?。?/p>

code:數(shù)據(jù)狀態(tài)碼(一般都是前后臺(tái)約定規(guī)則)

常用的code碼建議:

200:請(qǐng)求成功

204:請(qǐng)求失敗

400:請(qǐng)求報(bào)文存在語(yǔ)法錯(cuò)誤? ?

500:服務(wù)器錯(cuò)誤?

502:網(wǎng)關(guān)出錯(cuò)?

503:服務(wù)器不可用

504:請(qǐng)求超時(shí)

401:沒(méi)有權(quán)限

403:表示對(duì)請(qǐng)求資源的訪問(wèn)被服務(wù)器拒絕

404:找不到請(qǐng)求的資源

mesage/msg:數(shù)據(jù)狀態(tài)信息(一般不僅僅是對(duì)數(shù)據(jù)狀態(tài)碼的解釋,更多是對(duì)結(jié)果的描述,給前臺(tái)開(kāi)發(fā)者閱讀的)

data:數(shù)據(jù)結(jié)果(JSON類型的數(shù)據(jù)結(jié)構(gòu))

結(jié)構(gòu)示例:

data: {

? ? ? code: 200,? ? ? ? ? ? ? ? ? ? ? ? ? // 操作成果

? ? ? data: {} || [],? ? ? ? ? ? ? ? ? ? ? // 數(shù)據(jù)

? ? ? message: '請(qǐng)求成果的類似提示語(yǔ)',? ? ? // 存放響應(yīng)信息提示【須語(yǔ)義化中文提示】

},

data: {

? ? ? code: 204,? ? ? ? ? ? ? ? ? ? // 操作失敗,例如單純的就是接口調(diào)用錯(cuò)誤

? ? ? data: {} || [],? ? ? ? ? ? ? ? // 數(shù)據(jù)

? ? ? message: '請(qǐng)求失敗的原因',? ? ? // 存放響應(yīng)信息提示【須語(yǔ)義化中文提示】

},

4、一致性原則:

1)、前端需要哪些字段,API接口應(yīng)該返回哪些字段,字段不多也不少。

2)、更新功能盡量做到:初次返回的原始數(shù)據(jù)參數(shù)與提交更新的數(shù)據(jù)參數(shù)結(jié)構(gòu)一致。

3)、時(shí)間參數(shù),盡量以一致格式的字符串傳遞, 如:

? ‘2019-01’? ? ? ? ? ? ? ? |? ? ? ‘2019/01’

? ‘2019-01-01’? ? ? ? ? ? |? ? ? ‘2019/01/01’

? ‘2019-01-01 12:12:12’? ? |? ? ? ‘2019/01/01 12:12:12’

開(kāi)發(fā)中應(yīng)注意的問(wèn)題:

1.接口文檔在開(kāi)發(fā)的哪個(gè)階段出來(lái):這點(diǎn)是開(kāi)發(fā)效率的主要限制因素。

直接導(dǎo)致的問(wèn)題是開(kāi)發(fā)前期前端只能做靜態(tài)頁(yè)面,中期一直在等后端出文檔,如果寫(xiě)完接口才出文檔,導(dǎo)致快到提測(cè)時(shí)間節(jié)點(diǎn)上是前端最忙的時(shí)候要敲后續(xù)的處理數(shù)據(jù)相關(guān)的代碼,因?yàn)闀r(shí)間比較緊所以先把大概功能處理完就提測(cè),導(dǎo)致測(cè)試人員反應(yīng)前端不細(xì)心,細(xì)節(jié)問(wèn)題一大堆。

2.字段問(wèn)綁定的bug:后端出接口文檔時(shí)每個(gè)字段要加字段解釋,避免出現(xiàn)前端字段理解不到位而出現(xiàn)字段邦定問(wèn)題的bug。

3.聯(lián)調(diào)時(shí),前端調(diào)用后端接口,發(fā)現(xiàn)接口有問(wèn)題,前端可以提供出錯(cuò)接口調(diào)用時(shí)傳參的字段,但接口具體問(wèn)題后端應(yīng)自己解決。

4.數(shù)據(jù)處理問(wèn)題:考慮到瀏覽器的處理能力、帶寬限制、安全性因素,數(shù)據(jù)復(fù)雜的處理應(yīng)后端處理,不能前端能做就給前端,數(shù)據(jù)處理邏輯都是一樣的,后端本來(lái)就是處理數(shù)據(jù)的,后端返回的字段太多或不夠,也會(huì)影響聯(lián)調(diào)的進(jìn)度。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容