☀️Terry

- - 草木逢春,雨过天晴🌈。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我这里是统一返回json格式的

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(value = GovCommException.class)
    @ResponseBody
    public Result jsonErrorHandler(HttpServletRequest req, GovCommException e) throws Exception{
        Result res = new Result();
        res.setCode(Result.ERROR_CODE);
        res.setMsg("请求url:"+req.getRequestURI().toString()+",错误信息:"+e.getMessage());
        return res;
    }
}

异常类

public class GovCommException extends Exception{
    public GovCommException(){
        super();
    }
    public GovCommException(String msg){
        super(msg);
    }
    public GovCommException(String msg, Throwable e){
        super(msg,e);
    }
}

DTO Result

public class Result<T> implements Serializable {
    public static final int SUCCESS_CODE = 200;
    public static final int ERROR_CODE = 100;
    private static final long serialVersionUID = 1L;
    private static final String SUCCESS = "操作成功。";
    private static final String ERROR = "操作失败!!!";
    private Integer code;
    private String msg;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private T data;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Map<String,Object> ext;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private PageParam pageParam;

    public Result() {
    }

    public Result(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Result(Integer code) {
        this.code = code;
        if (code==SUCCESS_CODE){
            this.msg = SUCCESS;
        }else{
            this.msg = ERROR;
        }
    }

    public Result(Integer code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public Result(Integer code, String msg, T data, Map<String, Object> ext) {
        this.code = code;
        this.msg = msg;
        this.data = data;
        this.ext = ext;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
        if (code==Result.SUCCESS_CODE){
            this.msg = SUCCESS;
        }else {
            this.msg = ERROR;
        }
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public Map<String, Object> getExt() {
        return ext;
    }

    public void setExt(Map<String, Object> ext) {
        this.ext = ext;
    }

    public PageParam getPageParam() {
        return pageParam;
    }

    public void setPageParam(PageParam pageParam) {
        this.pageParam = pageParam;
    }
}

异常使用

@GetMapping("/notifyAll")
    public Result loaderAll() throws GovCommException {
        Result res = new Result();
        try {
            Result result = ServerUtil.getModelManagerProxy(type).loaderAll();
            if (result!=null)
                res = result;
            return res;
        } catch (Exception e) {
            throw new GovCommException("远程通知服务端加载模型异常!",e);
        }
    }

 

posted on 2020-07-15 13:38  ☀️Terry  阅读(141)  评论(0编辑  收藏  举报