闲话不多说,继续优化 全局统一Restful API 响应框架做到项目通用 接口可扩展。
如果没有看前面几篇文章请先看前面几篇
(相关资料图)
SpringBoot定义优雅全局统一Restful API 响应框架
SpringBoot定义优雅全局统一Restful API 响应框架二
SpringBoot定义优雅全局统一Restful API 响应框架三
SpringBoot定义优雅全局统一Restful API 响应框架四
这里解决上一篇留下问题 如何实现接口错误国际化。 还有上一篇错误提示也不是很友好
我们可以在进一步抽象出通用异常接口。
异常信息应由固定异常编码信息加上详细的错误自定义信息。
上一篇最后错误 提示依然不够友好具体。我们可以在具体到哪个字段
还有未知错误返回异常,这里之前提到要在·全局异常处理中接入自己的日志输出处理,我们只是单纯的打印在控制台。肯定是不行
如果项目中不做任何处理默认就会走Tomcat服务器日志处理逻辑,输出到catalina 文件中我们这里把这个问题处理一下。
公共错误异常类自定义异常类继承运行时异常。自定义错误编码,和错误信息枚举
/*** @author 公众号 程序员三时* @version 1.0* @date 2023/4/29 00:15* @webSite https://github.com/coder-amiao* 通用业务异常封装*/@Datapublic class BusinessException extends RuntimeException { /** * 自定义异常编码 */ private String code; public BusinessException(String code, String message) { super(message); this.code = code; } public BusinessException(ResultCode resultCodeEnum) { super(resultCodeEnum.getMessage()); this.code = resultCodeEnum.getCode(); } public BusinessException(ResultCode resultCodeEnum, String msg) { super(resultCodeEnum.getMessage() +" " +msg); this.code = resultCodeEnum.getCode(); }}
其他异常类也是如此
这里主要说一下如何把错误日志输出到指定服务器路径的指定log文件
日志文件按照类型和时间划分,一天一个按照指定大小
这样就方便自己查询错误日志
日志配置文件logback-spring.xmlspringboot约定配置名称,可以读取加载属性文件
shop-api ${log.colorPattern} ${LOG_PATH}/info/info.%d{yyyy-MM-dd}-%i.log 3MB 30 1GB ${log.pattern} INFO ACCEPT DENY ${LOG_PATH}/error/error.%d{yyyy-MM-dd}-%i.log 3MB 30 1GB ${log.pattern} ERROR ACCEPT DENY
代理已经更新到 github仓库脚手架项目
关注公众号,程序员三时持续输出优质内容 希望给你带来一点启发和帮助