首页 > 其他分享 >记录

记录

时间:2024-06-20 17:11:47浏览次数:24  
标签:code String 记录 ResultData resultData message public

高效精准记录做项目中遇到的Bug与一些设计方案

BUG:复制资料pom,导入依赖爆红

<depedencyManagent>
    <dependencies>
        ...
    </dependencies>
</depedencyManagent>

现象:在创建父项目时,复制pom文件如上,刷新后爆红,发现并没有引入依赖

原因:dependencyManegent是一个逻辑上的规范,主要用于统一管理依赖版本,并不会真正导入依赖,因此才会出现部分依赖爆红

解决方法:

  • 当后续子项目中真正引入依赖时,可以不显示的声明依赖版本号;系统会自动向上寻找有dependencyManegent的pom文件,此时才会正式引入依赖解决爆红。
  • 当然也可以直接在父项目中将所有依赖引入,先去掉dependencyManegent,刷新Maven,此时会将所有依赖引入,再补上dependencyManegent就好了。

项目如何统一时间格式

  1. 在相应的类的属性上使用@JsonFormat注解
  2. 在application.yml中指定spring.jackson.date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8

项目如何统一结果返回

  1. 定义返回标准格式,需要包含:

    1. code:状态值,统一返回结果状态码
    2. data:需要返回的数据
    3. message:结果描述
    4. timestamp:接口调用时间
  2. 统一状态码

    1. 使用HpptClient中的状态码

    2. 使用自定义状态码枚举类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;
          }
          
      }
      
  3. 统一结果返回对象

    @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

标签:code,String,记录,ResultData,resultData,message,public
From: https://www.cnblogs.com/yuxin6924/p/18258797

相关文章

  • 记录一下麒麟3.0内网安装python通过jdbc连接达梦6数据库
    麒麟3.0基于RedHat4.1.2-42,此版本可以编译python3.8.3,但是内网无法安装libffi-dev,导致无法安装JPype1和JayDeBeApi,所以改用python2.7.181、安装python2.7.18https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz#解压tar-zxvfPython-2.7.18.tgz#切换到新的目......
  • 记录pyinstaller打包django项目遇到的坑
    由于工作需要,需要在内网部署一个Django项目生成exe,打包过程遇到了不少坑,在此记录一下。一、安装pyinstaller略。二、打包exe第一个问题:用pyinstaller-F-w生成的exe报错一开始用的是以下命令生成exe:pyinstaller-F-wxx.py导出完毕后,在dist/manage/目录下输入manage.......
  • 黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day3
    你好,我是Qiuner.为帮助别人少走弯路和记录自己编程学习过程而写博客这是我的githubhttps://github.com/Qiuner⭐️giteehttps://gitee.com/Qiuner......
  • 代码随想录刷题记录(11)| 二叉树(二叉树理论基础,二叉树的递归遍历,迭代遍历,统一迭代,层序遍
    目录(一)二叉树理论基础1.种类2.存储方式3.遍历方式4.二叉树的定义 (二)二叉树的递归遍历1.思路2.递归遍历(1)前序遍历(2)中序遍历(3)后序遍历(三)二叉树的迭代遍历1.思路2.迭代遍历 (1)前序(2)中序(3)后序(四)二叉树的统一迭代(五)二叉树的层序遍历1.思路2.层序遍......
  • odoo 会计学习记录
    产品类别原材料库存计价成本方法:平均成本库存计价:自动会计库存属性库存计价科目:1403原材料库存日记账:库存计价进货科目:220201暂估应付出货科目:1406发出商品科目属性收入科目:6001主营业务收入费用科目:6401主营业务成本半成品库存计价成本方法:平均成......
  • rebindMultiA:一款功能强大的多重A记录重绑定攻击测试工具
    关于rebindMultiArebindMultiA是一款功能强大的多重A记录重绑定攻击测试工具,该工具可以帮助广大研究人员通过针对目标域名执行多重A记录重绑定攻击,来测试目标域名或地址的安全情况。工具提供了一个rebindmultia.com域名,用来帮助广大研究人员使用该工具来进行测试实践。它会......
  • 《UML基础、案例与应用》习题记录-第17章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。 第17章领域分析17.11.2习题1. 2.   3. 4. 5.  6.   ......
  • 《UML基础、案例与应用》习题记录-第19章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第19章开发用例19.7.2习题 1.2.  3. 4. 用例Notifyrequestcompleted用例描述酒保完成饮料定单后通知服务员。假设条件顾客就餐,选择了饮料;服务员通过传递饮料定单......
  • Microsoft.AspNetCore.Identity 的使用记录
    使用Cookie,在发起请求时从浏览器附加Cookie的示例图:请求后自动生成Cookie,缓存保存于浏览器中以后每次发起请求时浏览器都会自动为请求附加其缓存的Cookies使用访问令牌bearertoken,在发起请求时附加了Authorization请求头,示例注意,如果手动传参,Head中Authorizaion的值要......
  • 记录项目启动 RPC链接报错问题
    场景:`学习中遇到一个问题网关服务启动报9848端口问题连接超时网上找了太多的资料了,但是都不太符合我当前的问题,要么就是没解决分析:实在找不到能参考的资料了想着自己打断点看源码报错就是在这里打印出来的可以看到Servercheckfail,pleasecheckserver{},......