一个最简单的springboot统一异常处理

直接上代码

@ControllerAdvice
public class GlobalExceptionHandler {
    private final String SYSTEM_ERR ="系统异常处理,请联系管理员";
    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public JSON errorHandler(Exception ex) {
       //do something
        return  JsonBuilder.builder().put("code", 500).put("msg", SYSTEM_ERR).build();
    }
}

JsonBuilder.java

import com.alibaba.fastjson.JSONObject;

/**
 * @author Y.S.K on 15/06/2018.
 */
public class JsonBuilder {

    private JSONObject jsonObject;

    private JsonBuilder() {
        jsonObject = new JSONObject();
    }

    public static JsonBuilder builder() {
        return new JsonBuilder();
    }

    public static JsonBuilder builder(String key, Object obj) {
        return builder().put(key, obj);
    }

    public JsonBuilder put(String key, Object obj) {
        this.jsonObject.put(key, obj);
        return this;
    }

    public JSONObject build() {
        return jsonObject;
    }
}

通过@ControllerAdvice和@ExceptionHandler两个注解,我们可以对项目中的所有异常进行捕捉,我这里进行了一个统一的返回500的错误信息,大家可以根据自己的需求,再进行定制。

猜你喜欢

转载自blog.csdn.net/ysk_xh_521/article/details/80703705