我开源了团队内部基于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"
相关推荐
yangminlei10 分钟前
从零构建一个基于 DeepSeek 的 AI 对话系统:Spring Boot + 前端实战指南
spring boot·ai编程
csdn2015_27 分钟前
Spring Boot `HttpServletRequest`
spring boot·http·servlet
小沈同学呀29 分钟前
SpringBoot 使用Docx4j实现 DOCX 转 PDF
spring boot·后端·pdf·docx4j
计算机学姐29 分钟前
基于SpringBoot的校园流浪动物救助平台
java·spring boot·后端·spring·java-ee·tomcat·intellij-idea
想要一只奶牛猫31 分钟前
SpringBoot 配置文件
java·spring boot·后端
那我掉的头发算什么38 分钟前
【Mybatis】动态SQL与留言板小项目
数据库·spring boot·sql·spring·mybatis·配置
有诺千金38 分钟前
SpringBoot3的前后端分离架构中使用SpringSecurity的思路
spring boot·架构
Warren9842 分钟前
一次文件上传异常的踩坑、定位与修复复盘(Spring Boot + 接口测试)
java·开发语言·spring boot·笔记·后端·python·面试
indexsunny1 小时前
互联网大厂Java面试实录:Spring Boot微服务与Kafka消息队列实战解析
java·spring boot·微服务·面试·kafka·电商·技术解析
一灰灰blog1 小时前
Jar包会自己消失?Excel会“记忆“数据?我遇到了两个灵异bug
java·spring boot·bug·excel