返回值:
如图,后台Service层返回抛出自定义异常,Dao层异常类似。
Service:
public Map calculateScore(String code) { Map map = new HashMap(); Integer version = svConfigurationDao.getNewestVersion(); List<SvConfiguration> list = svConfigurationRepository.findByVersion(version); if (list.size() <= 0) { throw new ServiceException(ResultEnum.NO_CONFIG); } ResultData resultData = factorScore.getFactorScore(code); if (resultData.getTotalCount() > 0) { //do something; } else { throw new ServiceException(ResultEnum.NO_STOCK); } }ResultEnum:
public enum ResultEnum { UNKNOW_ERROR(-1, "系统内部错误"), SUCCESS(0, "成功"), NO_CONFIG(10000, "当前版本没有配置信息"), NO_STOCK(10001,"查询不到股票信息"); private Integer code; private String msg; ResultEnum(Integer code, String msg){ this.code = code; this.msg = msg; } public Integer getCode(){ return code; } public void setCode(Integer code){ this.code = code; } public String getMsg(){ return msg; } public void setMsg(String msg){ this.msg = msg; } }在Controller层返回抛出自定义异常,
Controller:
@GetMapping(value = "/currentConfig") public Result getSvCongifurationList(){ Map map = svService.getCurrentConfig(); if(map != null && map.size() > 0){ return ResultUtil.success(map); }else{ return ResultUtil.error(ResultEnum.NO_CONFIG); } }ResultUtil:
public class ResultUtil { public static Result success(Object object){ Result result = new Result(); result.setData(object); return result; } public static Result success(){ Result result = new Result(); return result; } public static Result error(int code, String msg){ Result result = new Result(code, msg); return result; } public static Result error(ResultEnum re){ Result result = new Result(re.getCode(), re.getMsg()); return result; } }Result :
public class Result { private int status; private String message; private Object data; public Result(int status, String message) { this.status = status; this.message = message; } public Result() { this.status = 0; this.message = "成功"; } /* public boolean isSucc() { return this.status.equals("0"); } */ public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public String toString() { // return JSONObject.toJSONString(this); ObjectMapper mapper = new ObjectMapper(); String jsonStr = ""; try{ jsonStr = mapper.writeValueAsString(this); }catch(JsonProcessingException e){ System.out.println(e.toString()); } return jsonStr; } }