栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

项目搭建模板

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目搭建模板

1.特殊pom
         
            org.springframework.boot
            spring-boot-starter-validation
        
        
            org.projectlombok
            lombok
            1.18.10
        
2.ResultVo
@Data
public class ResultVo {
   private Boolean success;

   private Integer code;

   private String message;

   private Map data = new HashMap<>();

   
   private ResultVo() {
   }

   
   public static ResultVo ok() {
       ResultVo r = new ResultVo();
       r.setSuccess(ResultCodeEnum.SUCCESS.getSuccess());
       r.setCode(ResultCodeEnum.SUCCESS.getCode());
       r.setMessage(ResultCodeEnum.SUCCESS.getMessage());
       return r;
   }

   
   public static ResultVo error() {
       ResultVo r = new ResultVo();
       r.setSuccess(ResultCodeEnum.UNKNOWN_ERROR.getSuccess());
       r.setCode(ResultCodeEnum.UNKNOWN_ERROR.getCode());
       r.setMessage(ResultCodeEnum.UNKNOWN_ERROR.getMessage());
       return r;
   }

   
   public static ResultVo setResult(ResultCodeEnum result) {
       ResultVo r = new ResultVo();
       r.setSuccess(result.getSuccess());
       r.setCode(result.getCode());
       r.setMessage(result.getMessage());
       return r;
   }

   
   public ResultVo data(Map map) {
       this.setData(map);
       return this;
   }

   
   public ResultVo data(String key, Object value) {
       this.data.put(key, value);
       return this;
   }

   
   public ResultVo message(String message) {
       this.setMessage(message);
       return this;
   }

   
   public ResultVo code(Integer code) {
       this.setCode(code);
       return this;
   }

   
   public ResultVo success(Boolean success) {
       this.setSuccess(success);
       return this;
   }
}
3.ResultCodeEnum
@Getter
public enum ResultCodeEnum {

    SUCCESS(true, 20000, "成功"),
    UNKNOWN_ERROR(false, 20001, "未知错误"),
    PARAM_ERROR(false, 20002, "参数错误"),
    NULL_POINT(false, 20003, "空指针异常"),
    HTTP_CLIENT_ERROR(false, 20004, "客户端连接异常"),
    ;

    
    private Boolean success;
    
    private Integer code;
    
    private String message;

    ResultCodeEnum(boolean success, Integer code, String message) {
        this.success = success;
        this.code = code;
        this.message = message;
    }
}
3.自定义异常和统一异常处理
@Data
public class CMSException extends RuntimeException {
    private Integer code;

    public CMSException(Integer code, String message) {
        super(message);
        this.code = code;
    }

    public CMSException(ResultCodeEnum resultCodeEnum) {
        super(resultCodeEnum.getMessage());
        this.code = resultCodeEnum.getCode();
    }

    @Override
    public String toString() {
        return "CMSException{" + "code=" + code + ", message=" + this.getMessage() + '}';
    }
}
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    
    @ExceptionHandler(NullPointerException.class)
    @ResponseBody
    public ResultVo error(NullPointerException e) {
        e.printStackTrace();
        return ResultVo.setResult(ResultCodeEnum.NULL_POINT);
    }

    @ExceptionHandler(HttpClientErrorException.class)
    @ResponseBody
    public ResultVo error(IndexOutOfBoundsException e) {
        e.printStackTrace();
        return ResultVo.setResult(ResultCodeEnum.HTTP_CLIENT_ERROR);
    }

    
    @ExceptionHandler(CMSException.class)
    @ResponseBody
    public ResultVo error(CMSException e) {
        e.printStackTrace();
        return ResultVo.error().message(e.getMessage()).code(e.getCode());
    }
}
4.日志处理



    
    

    

    
    
        
            
            ${LOG_PATTERN}
        
    

    
    
        
            
                ${FILE_PATH}
            
            
            30
            
                
                10MB
            
        

        
            ${LOG_PATTERN}
        
    

    
    
        
        
    


5.实例
@RestController
@RequestMapping("/checkParam")
@Slf4j
public class CheckParam {

    private static final Logger logger = LoggerFactory.getLogger(CheckParam.class);

    @GetMapping("/getbaseEntity")
    public ResultVo getUserStr(@Validated baseEntity baseEntity, BindingResult result) {

        logger.info("11111111111111111111111111111");

        // throw new CMSException(500,"未知错误");

        return ResultVo.ok().data("baseEntity", baseEntity);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/282464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号