记录
高效精准记录做项目中遇到的Bug与一些设计方案
BUG:复制资料pom,导入依赖爆红
<depedencyManagent>
    <dependencies>
        ...
    </dependencies>
</depedencyManagent>
现象:在创建父项目时,复制pom文件如上,刷新后爆红,发现并没有引入依赖
原因:dependencyManegent是一个逻辑上的规范,主要用于统一管理依赖版本,并不会真正导入依赖,因此才会出现部分依赖爆红
解决方法:
- 当后续子项目中真正引入依赖时,可以不显示的声明依赖版本号;系统会自动向上寻找有
dependencyManegent的pom文件,此时才会正式引入依赖解决爆红。 - 当然也可以直接在父项目中将所有依赖引入,先去掉
dependencyManegent,刷新Maven,此时会将所有依赖引入,再补上dependencyManegent就好了。 
项目如何统一时间格式
- 在相应的类的属性上使用
@JsonFormat注解 - 在application.yml中指定
spring.jackson.date-format: yyyy-MM-dd HH:mm:ss和time-zone: GMT+8 
项目如何统一结果返回
- 
定义返回标准格式,需要包含:
code:状态值,统一返回结果状态码data:需要返回的数据message:结果描述timestamp:接口调用时间
 - 
统一状态码
- 
使用
HpptClient中的状态码 - 
使用自定义状态码枚举类
ReturnCodeEnum@Getter public enum ReturnCodeEnum { RC200("200","success"), ; /**自定义状态码**/ private final String code; /**自定义描述**/ private final String message; ReturnCodeEnum(String code, String message) { this.code = code; this.message = message; } } 
 - 
 - 
统一结果返回对象
@Data @Accessors(chain = true) public class ResultData<T> { private String code; private String message; private T data; private long timestamp; public ResultData() { this.timestamp = System.currentTimeMillis(); } public static <T> ResultData<T> success(T data) { ResultData<T> resultData = new ResultData<>(); resultData.setCode(ReturnCodeEnum.RC200.getCode()); resultData.setMessage(ReturnCodeEnum.RC200.getMessage()); resultData.setData(data); return resultData; } public static <T> ResultData<T> fail(String code, String message) { ResultData<T> resultData = new ResultData<>(); resultData.setCode(code); resultData.setMessage(message); return resultData; } } 
项目如何统一异常处理
统一异常处理器
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
    @ExceptionHandler(RuntimeException.class)
    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    public ResultData<String> exception(Exception e) {
        log.error("全局异常信息:{}", e.getMessage(), e);
        return ResultData.fail(ReturnCodeEnum.RC500.getCode(), e.getMessage());
    }
}
最近一次更新时间---2024/6/20
本文来自博客园,作者:yuxin!!,转载请注明原文链接:https://www.cnblogs.com/yuxin6924/p/18258797
                    
                
        高效精准记录Bug与设计方案
    
                
            
        
浙公网安备 33010602011771号