我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.7.0更新

什么是 rest-api-spring-boot-starter

rest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规范的业务RestFull API 不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。

动机

每次Web API常用功能都需要重新写一遍。或者复制之前的项目代码。于是我封装了这么一个stater

抽出SpringBoot Web API 每个项目必备需要重复写的模块,和必备功能。

并且扩展了我工作中用到的 所有工具库。 解放双手提高开发效率

推荐版本

  • SpringBoot
bash 复制代码
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参数解析封装工具

  • GitHub 地址

  • gitee 地址

JSON 序列化

现在 WEB API 的通讯都是基于 WEB JSON 进行通讯数据交互。JSON 比较轻量。格式清晰。 所以项目中经常需要用到对 JSON 返回处理。

对 Bean 的序列化。对时间格式返回。对空处理返回。

于是我在1.7.0版本中加入对JSON数据格式自定义全局处理

只需要在你的属性文件中配置对应类型的,对应返回格式就行

yml 复制代码
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"
相关推荐
是小崔啊32 分钟前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
HaiFan.2 小时前
SpringBoot 事务
java·数据库·spring boot·sql·mysql
大梦百万秋3 小时前
Spring Boot实战:构建一个简单的RESTful API
spring boot·后端·restful
斌斌_____4 小时前
Spring Boot 配置文件的加载顺序
java·spring boot·后端
vvw&4 小时前
Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
linux·运维·服务器·ubuntu·docker·容器·开源
苹果醋34 小时前
React系列(八)——React进阶知识点拓展
运维·vue.js·spring boot·nginx·课程设计
等一场春雨6 小时前
springboot 3 websocket react 系统提示,选手实时数据更新监控
spring boot·websocket·react.js
荆州克莱7 小时前
Golang的性能监控指标
spring boot·spring·spring cloud·css3·技术
m0_748241707 小时前
前端学习:从零开始做一个前端开源项目
前端·学习·开源
AI人H哥会Java7 小时前
【Spring】控制反转(IoC)与依赖注入(DI)—IoC容器在系统中的位置
java·开发语言·spring boot·后端·spring