发布了第一个版本 0.1.1.RELEASE版本, 这个版本核心依赖了springboot 2.0.0.M7 和 Springcloud Finchley M3
项目地址:
https://github.com/lord-of-code/loc-framework
主要包括了三个核心的starter:
- springmvc
- logback
- shutdown
springmvc的starter的统一标准
- 增加了http请求的accesslog的记录的Filter,记录的request和response的关键信息
- 添加了ExceptionHandler,增加了异常情况的处理
- 添加了统一的Response返回的数据格式
private int code; #返回的状态码
private String msg; #返回的信息,用于前端进行展示
private String detailMsg; #返回的详细信息,用户内部调试和排查问题
private T data; #返回的具体数据(泛型)
- 添加了统一的业务异常类
LocCommonException
对于抛出这种异常框架会进行转换,这种异常为业务异常,返回的response status为200, 返回的code码可以根据业务情况自行定义
- response状态码大类分类
2xx 正常返回, 通过LocCommonException抛出的异常
4xx 客户端请求失败,如http method错误,参数错误,MediaType错误 等
5xx 服务端错误,如Runtime Exception错误 等
- 加入了cors跨域相关的Filter的配置
loc.web.springmvc.cors.enabled: false #默认为false,默认不开启cors跨域的配置, 如果要开启,改成true
loc.web.springmvc.cors.allowOrigins: #默认为*, 可以通过数组进行添加
- ...
- ...
loc.web.springmvc.cors.allowHeaders: #默认为*, 可以通过数组进行添加
- ...
- ...
loc.web.springmvc.cors.allowMethods: #默认为*, 可以通过数组进行添加
- GET
- POST
- ...
loc.web.springmvc.cors.allowExposeHeaders: #默认没有,可以通过数组进行添加
- ...
- ...
- 加入了swagger的相关配置
loc.web.springmvc.swagger2.enabled: true #默认为true, 表示是否开启swagger功能
loc.web.springmvc.swagger2.apiinfo.title = "project title";
loc.web.springmvc.swagger2.apiinfo.description = "project description";
loc.web.springmvc.swagger2.apiinfo.version = "v1";
loc.web.springmvc.swagger2.apiinfo.termsOfServiceUrl = "https://github.com/lord-of-code/loc-framework";
loc.web.springmvc.swagger2.apiinfo.contactName = "loc project";
loc.web.springmvc.swagger2.apiinfo.contactUrl = "https://github.com/lord-of-code/loc-framework";
loc.web.springmvc.swagger2.apiinfo.contactEmail = "dragonlong1986@126.com";
loc.web.springmvc.swagger2.apiinfo.license = "project license";
loc.web.springmvc.swagger2.apiinfo.licenseUrl = "https://github.com/lord-of-code/loc-framework";
loc.web.springmvc.swagger2.restapi.basePackage #扫描的包路径,默认为all
loc.web.springmvc.swagger2.restapi.paths #扫描的paths,默认为all
logger的starter统一日志标准(依赖logback日志框架)
- 统一了logger的输出格式,主要考虑到后续的日志采集、统计、分析的统一
[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%t] %-5level %logger{50} - %msg%n
- 默认了logger的输出,分为console和file,默认的file存储在
/tmp/loc.log
目录,可以通过配置文件logging.file
进行修改 - 日志按小时进行切割,切割后存放目录,默认是
./logs
目录,可以通过logging.path
进行修改 - 日志文件备份默认存放720小时(30天)
shutdown的starter来进行优雅的停机操作
- 完成了tomcat的优雅停机策略
loc.tomcat.shutdown.enabled: true #默认优雅停机策略是打开的
loc.tomcat.shutdown.waitTime: 30 #默认30s的优雅停机等待时间,超过时间强行关闭
网友评论