在TP最新版下載完成後,很多開發者都會遇到接口返回異常的情況。這種時候,讀懂錯誤碼定義比盲目調試代碼更重要。TP團隊這次對返回規範做了整體梳理,把常見的業務異常和係統異常分得更清楚了。
接口返回格式統一為{“code”: 整數, “msg”: “描述”, “data”: {} }。其中code字段不再使用狀態碼占位,而是獨立定義了一套業務錯誤碼區間。比如1000到1999是參數校驗類錯誤,2000到2999是權限類錯誤,3000到3999是資源不存在類錯誤。
在實際調測中,很多朋友反饋說“總是返回2000多,看不懂”。其實2000係列的錯誤碼裏,2001代表token過期,2002代表簽名驗證失敗,2003代表接口權限不足。這樣設計的好處是,前端可以根據具體的code值做精準提示,而不是隻彈一個“網絡錯誤”。
數據返回層也做了規範。成功時data字段正常返回業務數據,失敗時data字段返回null或者一個空對象。所有異常情況都不再混淆到data裏,避免前端解析時誤判。開發時建議先在控製器裏打印一次原始返回,確認結構是否符合這個規範。
最後提醒一下,新版TP對接口返回層的實現依賴一個獨立的返回類,下載後記得檢查配置文件裏的返回驅動是否啟用。如果還是遇到莫名報錯,大概率是使用了舊的全局異常處理方式,替換成新的規範類就能解決。
