前後端開發面臨的問題
- 錯誤碼規範
- 異常結果的返回
- 會話如何保持
錯誤碼規範
前後端需要定義一套完整的錯誤碼體系,每個錯誤碼都有其含義,正確響應結果會有一個code,可以定義爲200,跟標準http code對應,容易理解。有些api接口,會使用http標準code返回,告知用戶業務的狀態,例如easyar的接口https://help.easyar.cn/EasyAR%20CRS/api/target-search.html
圖片不存在:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
{
"statusCode": 17,
"result": {
"message": "No result: there is no matching."
}
}
這裏使用了http的狀態碼標識業務狀態,這也是一種方式,不過我更傾向於使用HTTP 200表示請求的正確性,通過內部的statusCode表示業務狀態。
異常結果的返回
異常結果可以使用錯誤碼來表示,例如statusCode=400表示xxx業務異常,也可以使用狀態碼之外的數據表示異常情況,例如異常情況則數據爲空,由前端來判斷數據的正確性,而非狀態碼的正確性。個人更傾向於使用錯誤碼來表示業務異常,這樣情況需要處理的情況就比較少了。
會話如何保持
前後端分離的項目通常使用自定義cookie或者使用Http Header來傳遞授權token,這樣後臺就可以獲取到token判斷會話的合法性。