什么是 rest-api-spring-boot-starter
rest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规范的业务RestFull API 不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。
动机
每次Web API常用功能都需要重新写一遍。或者复制之前的项目代码。于是我封装了这么一个stater
抽出SpringBoot Web API 每个项目必备需要重复写的模块,和必备功能。
并且扩展了我工作中用到的 所有工具库。 解放双手提高开发效率
推荐版本
- SpringBoot
SpringBoot 2.7.x
版本更新
目前最新版本1.7.0 支持功能如下:
- 支持一键配置自定义RestFull API 统一格式返回
- 支持RestFull API 错误国际化
- 支持全局异常处理,全局参数验证处理
- 业务错误断言工具封装,遵循错误优先返回原则
- 封装Redis key,value 操作工具类。统一key管理 spring cache缓存实现
- RestTemplate 封装 POST,GET 请求工具
- 日志集成。自定义日志路径,按照日志等级分类,支持压缩和文件大小分割。按时间显示
- 工具库集成 集成了lombok,hutool,commons-lang3,guava。不需要自己单个引入
- 集成mybatisPlus一键代码生成
- 日志记录,服务监控,支持日志链路查询。自定义数据源
- OpenApi3文档集成支持一键配置。支持多种文档和自动配置
- 生成JWT标准Token和权限认证
- 全局自定义Json序列化处理对空,浮点,时间等类型格式返回
- 接口限流,Ip城市回显
- HttpUserAgent请求设备工具封装
RequestUtil参数解析封装工具
- gitee 地址
JSON 序列化
现在 WEB API 的通讯都是基于 WEB JSON 进行通讯数据交互。JSON 比较轻量。格式清晰。 所以项目中经常需要用到对 JSON 返回处理。
对 Bean 的序列化。对时间格式返回。对空处理返回。
于是我在1.7.0版本中加入对JSON数据格式自定义全局处理
只需要在你的属性文件中配置对应类型的,对应返回格式就行
rest-api:
json:
number-form: ".00" # 浮点数格式化 ,000,00 不足补零。,###.## 不会补零 (四舍五入)
date-form: yyyy-MM-dd HH:mm:ss.SSS #时间格式化 timestamp 时间戳
null-able: # 对空返回处理
has-null-able: false # 默认不处理 original 类型代表单个不做任何处理
number-type: number # 处理number 空返回 "0"
array-type: array # 处理集合空返回 []
double-type: double # 处理double 类型空返回 "0.00"