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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 什么是 rest-api-spring-boot-starterrest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规范的业务RestFull API 不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。

什么是 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参数解析封装工具

  • GitHub 地址

  • 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"
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
65 4
|
6天前
|
人工智能 JSON 安全
DeepSeek Engineer:集成 DeepSeek API 的开源 AI 编程助手,支持文件读取、编辑并生成结构化响应
DeepSeek Engineer 是一款开源AI编程助手,通过命令行界面处理用户对话并生成结构化JSON,支持文件操作和代码生成。
119 5
DeepSeek Engineer:集成 DeepSeek API 的开源 AI 编程助手,支持文件读取、编辑并生成结构化响应
|
16天前
|
存储 人工智能 API
AgentScope:阿里开源多智能体低代码开发平台,支持一键导出源码、多种模型API和本地模型部署
AgentScope是阿里巴巴集团开源的多智能体开发平台,旨在帮助开发者轻松构建和部署多智能体应用。该平台提供分布式支持,内置多种模型API和本地模型部署选项,支持多模态数据处理。
143 4
AgentScope:阿里开源多智能体低代码开发平台,支持一键导出源码、多种模型API和本地模型部署
|
22小时前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
50 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
65 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
20天前
|
存储 安全 Java
Spring Boot 编写 API 的 10条最佳实践
本文总结了 10 个编写 Spring Boot API 的最佳实践,包括 RESTful API 设计原则、注解使用、依赖注入、异常处理、数据传输对象(DTO)建模、安全措施、版本控制、文档生成、测试策略以及监控和日志记录。每个实践都配有详细的编码示例和解释,帮助开发者像专业人士一样构建高质量的 API。
|
2月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
61 1
|
2月前
|
监控 安全 API
拥抱开源:下一代API管理工具Kong的崛起
【10月更文挑战第27天】在微服务架构和API经济的推动下,API管理成为软件开发的关键环节。Kong作为开源的API管理平台,凭借其灵活性和强大功能,受到开发者的青睐。本文探讨了Kong的核心特性、使用技巧及其在企业中的应用,帮助读者更好地理解和利用这一工具。
|
2月前
|
XML Java 网络架构
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
74 0
|
2月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
153 2