使用AOP統一異常處理 返回結果

2021-08-20 11:16:07 字數 1312 閱讀 9007

public jsonresponse testrunold() catch (datanotcompleteexception e) catch (exception e)

}

@controller

public

class

testcontroller

}

@service

public

class

exampleservice

implements

iexampleservice

}

幾個核心類**
public

enum errormsgenum

private

boolean ok;

private

int code;

private string msg;

private string usermsg;

}

public

class jsonresponse

public

static jsonresponse newok()

public

static jsonresponse newok(object data)

public

static jsonresponse newerror()

public

static jsonresponse newerror(errormsgenum errormsgenum)

}

public

class

customexception

extends

exception

}

@around("execution(public * com.jason.*.controller..*.*(..))")

public jsonresponse serviceaop(proceedingjoinpoint pjp) throws exception catch (customexception e) else

} catch (exception e)

return newresultvo;

}

至此,我們已經可以直接在 service 或 controller 中隨意丟擲乙個異常,

直接每個控制器方法丟擲的異常定義為 throws exception 即可

經過這次處理:

統一異常處理

為什麼需要做統一異常處理 因為如果不做統一處理,返回與前端的資料會非常亂,前端不好處理 並且不做統一處理,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...