最近幾個月,與三位后台開發人員有過接口對接,每一次風格都不同,網上找到的也大多是關於RESTFUL風格的討論,自己以及其他同事對RESTFUL的理解都不夠到位,所以大多數工作中碰到的情況都不是RESTFUL風格,一般都是通過JSON自定義的格式。
場景:主要是微信端網頁開發,前端往往是先打開頁面然后通過Ajax向后台發送請求返回JSON格式的數據。
原則一:一個頁面盡量只有一個拉取接口
主要考慮的是盡量減少請求鏈接數,請求鏈接數越多,由於網絡原因,出現異常的可能性越大。
原則二:打破規則一,當請求需要緩存並且有需要及時更新的情況
為了更好的打開速度,對於不經常變化的數據,往往需要做數據緩存以及請求緩存。但有些信息,比如預約時間,又需要做到及時,則應該分多個請求。
原則三:如果返回數據中某個字段的數據沒有,返回該字段比不返回該字段要好。
JSON格式的好處在於靈活性,但沒有校驗機制。所以定義協議時規定了有哪些字段,最好這些字段都返回。我的意思是比如返回一個列表,大多數場景是返回一個數組,但如果沒有數據,返回一個空數組比不返回該字段要好。當然前端也有必要做自己的容錯考慮。
其他:
1.比較常見的返回數據的格式,經驗有限,也不清楚這是不是最優的。
{
status: "",
message: "",
data: {
}
}
2.這里有一篇關於HTTP API設計指南,感覺挺好的,但自己實際應用的不多。
3.上面只是我個人的幾點總結,如果有不對的地方請大家提出意見,如果網上或者其他書籍有相關的書籍,也希望大家積極分享,謝謝。