📦 项目地址:github.com/ChildrenGre…
💡 Maven Central:com.childrengreens:web-spring-boot-starter
✍️ 作者:ChildrenGreens | Java 开发工程师
💬 你是不是也有这样的痛点?
是不是每次新建 Spring Boot 项目,都要做这些重复的活?
- 写一套 统一返回体类;
- 再加一个 全局异常处理;
- 配置 CORS、JSON 格式化;
- 甚至每个项目都 copy 一遍 日志拦截器。
这些通用逻辑,其实没必要重复造轮子。
于是我干脆写了一个 开箱即用的 Starter ——
👉 web-spring-boot-starter
一次引入,就能让项目具备:
✅ 统一返回体
✅ 全局异常处理
✅ CORS 跨域
✅ JSON 格式化
✅ 请求拦截与日志增强
真正做到「一次配置,全局生效」。
🚀 一、为什么要写这个 Starter?
在我们公司内部的项目中,每个微服务都需要对接外部系统或前端应用。
然而每个服务的 Controller 层写法都不统一:
- 有的返回 Map;
- 有的直接返回对象;
- 有的 JSON 序列化格式完全不同;
- 异常处理逻辑五花八门。
结果是 ——
维护成本高、统一规范难、测试同学也一头雾水。
我希望能用一个 Starter,彻底解决这些重复问题。
于是就有了这款工具。
✨ 二、核心特性一览
| 功能 | 说明 |
|---|---|
| ✅ 统一返回体 | 所有 Controller 返回自动包装为 {code, message, data} |
| ⚙️ 全局异常处理 | 内置业务异常、校验异常、系统异常捕获 |
| 🌍 CORS 配置 | 默认跨域支持,可覆盖 |
| 🕓 JSON 格式化 | Long → String(防止前端精度丢失),统一时间格式 |
| 🧩 拦截器扩展 | traceId、header 校验、请求日志记录等 |
📦 三、快速上手
Maven 引入:
<dependency>
<groupId>com.childrengreens</groupId>
<artifactId>web-spring-boot-starter</artifactId>
<version>0.0.1</version>
</dependency>
示例 Controller:
@RestController
class StatusController {
@GetMapping("/status")
StatusPayload status() {
return new StatusPayload("UP");
}
record StatusPayload(String state) { }
}
访问结果:
{
"code": "0",
"message": "OK",
"data": {
"state": "UP"
},
"traceId": "a8ad0b6ee5c84fab"
}
无需封装、无需注解,统一响应自动生效 ✅
⚙️ 四、全局异常自动处理
当发生异常时(比如参数错误、空指针、业务异常),返回结果也会自动包装:
{
"code": "BUSINESS_ERROR",
"message": "Login required",
"data": null,
"traceId": "a8ad0b6ee5c84fab"
}
可自定义异常类型与错误码,统一返回格式,彻底告别 try-catch 混乱局面。
🌍 五、JSON 与 CORS 配置默认开启
- 默认开启 CORS 跨域,支持任意来源访问;
- 统一 Jackson 配置,自动支持:
- Long → String;
- LocalDateTime 统一格式;
- null 字段自动过滤。
想要自定义?
在配置文件中覆盖即可,无侵入、可扩展。
🧱 六、适用场景
- 🧩 多模块项目:统一 Web 层行为;
- 🏢 企业后端系统:减少样板代码;
- 🧠 微服务体系:保持服务间返回结构一致;
- ⚡ 快速开发脚手架:开箱即用,提升项目启动速度。
📈 七、Roadmap(后续规划)
未来版本计划支持:
- 响应包装开关;
- 多语言 i18n;
- 统一错误码字典;
- 更灵活的 ResponseAdvice 策略。
💬 八、最后的几句话
这个 Starter 的目标很简单:
让 Spring Boot Web 层的重复工作彻底消失。
如果你也受够了 copy-paste 式的控制层配置,
欢迎试试这个项目,也欢迎给我提建议!
🌟 九、开源项目链接
- 🔗 GitHub:github.com/ChildrenGre…
- 📦 Maven Central:
com.childrengreens:web-spring-boot-starter
如果觉得有用,
请点一个 Star 🌟,
这是对开源作者最好的鼓励 ❤️
🎨 封面图推荐文案(Banner)
标题: Spring Boot 一键统一 Web 层
副标题: 返回体、异常、CORS、日志全搞定
作者署名: ChildrenGreens | 开源项目
作者:ChildrenGreens
Java 开发工程师 | Spring Boot | AIGC | 高性能服务架构
GitHub: github.com/ChildrenGre…