現在前端和後端的互動過程中,很多時候都使用fetch和promise。
例如乙個簡化版本的從後台取得資料的方法如下
function getdata(url) else
});}
然後在其他地方呼叫即可
getdata('projects').then(data => );
getdata('users').then(data => );
但是上面沒有對異常進行處理,為了進行方便的統一異常處理,可以修改返回的promise物件的then方法,自動將統一的錯誤處理handler加入。
function onerror()
function getdata(url) else
});promise.oldthen = promise.then;
promise.then = (onfulfilled, onrejected) => ;
return promise;
}
呼叫的時候可以選擇自定義的handler還是使用預設的
getdata('projects').then(data => );
getdata('roles').then(data => );
getdata('users').then(data => , () => );
統一異常處理
為什麼需要做統一異常處理 因為如果不做統一處理,返回與前端的資料會非常亂,前端不好處理 並且不做統一處理,controller層就要寫很多的重複 統一格式 實現步驟 新建result物件 也就是請求返回的整體物件,包括code,msg,data public class result public ...
統一異常處理
1,建立統一異常處理類package com.xindong.common.handler 統一異常處理類 controlleradvice public class globalexceptionhandler exceptionhandler badsqlgrammarexception.cla...
統一異常處理
controlleradvice 用於捕獲全域性異常 exceptionhandler 傳入指定異常類 controlleradvice public class globalexceptionhandler 指定什麼異常執行該方法 exception 所有異常 exceptionhandler a...