我开源了团队内部基于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"
相关推荐
大学生资源网9 分钟前
基于springboot的农村综合风貌展示平台设计与实现(源码+文档)
java·数据库·spring boot·后端·毕业设计·源码·springboot
czlczl2002092514 分钟前
Spring Boot Filter 机制与 FilterRegistrationBean
java·spring boot·后端
特立独行的猫a28 分钟前
OpenHarmony开源鸿蒙应用签名机制深度解析与工具使用指南
华为·开源·harmonyos·签名
今晚务必早点睡29 分钟前
Redis——快速入门第四课:Redis + Spring Boot 实战(从 0 到能用)
spring boot·redis·bootstrap
苹果醋337 分钟前
vue + iview + vue-i18n中英翻译
java·运维·spring boot·mysql·nginx
ShiMetaPi42 分钟前
【以开源之基,筑智能未来】视美泰开源技术事业部:定义AIoT时代的“硬实力”与“开放性”
开源
Miss_Chenzr44 分钟前
Springboot文化艺术发展有限公司4rl42(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
cnnews1 小时前
某讯T1刷armbian
linux·ubuntu·开源·github
Angletank1 小时前
SpringBoot中JPA组件深入查询业务实现
数据库·spring boot·后端·mysql
qq_463408421 小时前
React Native跨平台技术在开源鸿蒙中开发一个具有全文搜索功能的组件,使用useMemo或useCallback来优化性能
react native·react.js·开源