loc-framework的0.1.1.RELEASE发布

发布了第一个版本 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 = "[email protected]";
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的优雅停机等待时间,超过时间强行关闭

你可能感兴趣的:(loc-framework的0.1.1.RELEASE发布)