开箱即用的 Web 层解决方案:web-spring-boot-starter 助你统一返回体、异常处理与跨域配置

作者:ChildrenGreens

项目地址:github.com/ChildrenGre...

Maven Central: com.childrengreens:web-spring-boot-starter


一、为什么要做这个 Starter?

在日常 Java 开发中,Web 层的重复劳动非常多:

  • 每个项目都要写一套统一返回体;
  • 各种 Controller 需要统一异常处理;
  • 跨域、时间格式、JSON 序列化到处重复配置;
  • 日志打印、响应封装到处复制粘贴。

为了让 Spring Boot 项目做到 "一次配置,全局生效" ,我开发了一个轻量级的 Starter ------

👉 web-spring-boot-starter


二、项目简介

一个轻量级 Web 层 Starter,为 Spring Boot 提供:

  • 统一返回体封装
  • 全局异常处理
  • JSON 格式化配置
  • 全局拦截器与跨域支持
  • 响应包装与日志增强

📦 Maven 引入:

xml 复制代码
<dependency>
  <groupId>io.github.childrengreens</groupId>
  <artifactId>web-spring-boot-starter</artifactId>
  <version>0.0.1</version>
</dependency>

三、核心特性

✅ 统一返回体结构

json 复制代码
{
  "code": "BUSINESS_ERROR",
  "message": "Login required",
  "data": null,
  "traceId": "a8ad0b6ee5c84fab"
}

所有 Controller 返回数据自动包装,无需手写 Result.ok()

⚙️ 全局异常处理

捕获业务异常、参数校验异常、系统异常,让返回格式始终一致。

🌍 JSON 与 CORS 配置

默认开启跨域,支持覆盖。内置 Jackson 序列化配置:

  • Long → String(防止前端精度丢失)
  • 统一日期格式
  • 忽略 null 字段

🧩 拦截器与日志增强

提供可扩展的 Web 拦截器接口,可实现 traceId、header 校验、请求日志记录等。


四、快速上手

示例:

java 复制代码
@RestController
class StatusController {

    @GetMapping("/status")
    StatusPayload status() {
        return new StatusPayload("UP");
    }

    record StatusPayload(String state) { }
}

访问结果:

json 复制代码
{
  "code": "0",
  "message": "OK",
  "data": {
    "state": "UP"
  },
  "traceId": "a8ad0b6ee5c84fab"
}

无需额外封装,即可自动应用统一格式。


五、适用场景

  • 多模块 Spring Boot 项目;
  • 企业级 Web 层规范;
  • 微服务网关与后端交互接口统一;
  • 快速构建标准化 API 服务。

六、贡献与反馈

欢迎在 GitHub 提交 PR 或 Issue:

🌟 github.com/ChildrenGre...

相关推荐
Pitayafruit2 小时前
Spring AI 进阶之路05:集成 MCP 协议实现工具调用
spring boot·后端·llm
JIngJaneIL4 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
q_19132846954 小时前
基于Springboot+MySQL+RuoYi的会议室预约管理系统
java·vue.js·spring boot·后端·mysql·若依·计算机毕业设计
VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue乡村振兴服务系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
何中应6 小时前
Bean的三种注入方式
开发语言·spring boot·后端·spring
Lucky_Turtle7 小时前
【Springboot】解决PageHelper在实体转Vo下出现total数据问题
java·spring boot·后端
老华带你飞7 小时前
志愿者服务管理|基于springboot 志愿者服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring
汤姆yu7 小时前
基于springboot的宠物服务管理系统
java·spring boot·后端
利刃大大8 小时前
【SpringBoot】Spring IOC && DI && 五大注解 && Bean && 扫描路径 && 依赖注入
java·spring boot·spring
老华带你飞8 小时前
学生请假管理|基于springboot 学生请假管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·spring