# web-unification-spring-boot-starter **Repository Path**: qiwei_tj/web-unification-spring-boot-starter ## Basic Information - **Project Name**: web-unification-spring-boot-starter - **Description**: Springboot web 项目统一配置组件,包括统一响应体、全局异常处理、API 版本号匹配、API Query 参数验签等功能,基于 Springboot 模块化开发,starter 方式随引随用,统一通过配置文件配置,方便管理 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2023-08-09 - **Last Updated**: 2024-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # web-unification-spring-boot-starter ## 一、介绍 spring boot web 项目统一化配置组件 ## 二、项目说明 本项目意在通过简单的配置完成对业务项目 API 的统一化、标准化定义 ### 1、目录结构 包内目录结构如下 ```text com └─xw └─unification │ WebUnificationTestApplication.java // 内部测试主启动类 │ ├─annotations // 功能注解包 │ ├─condition // 配置类条件包 │ ├─config // 自动配置类包 │ ├─constant // 常量包 │ ├─dto // 统一响应体包 │ ├─entity // 封装实体包 │ │ │ └─request // request 相关封装实体包 │ ├─enums // 枚举包 │ ├─exception // 异常包 │ ├─handler // 处理器包,包括路径映射、统一响应、全局异常处理器 │ ├─interceptor // 拦截器包 │ ├─interfaces // 通用接口包,包括使用相关功能时需要继承的接口 │ ├─test // 内部测试包 │ │ │ ├─controller │ │ │ └─enums │ └─utils // 模块工具包 ``` ## 三、使用教程 1. 克隆本项目到本地 ```shell git clone xxx.git xxx cd xxx ``` 2. 使用 maven cli 打包本地仓库 ```shell maven clean & install ``` 3. 在自己项目中引入 gav 坐标,即可使用 ```xml com.xw web-unification-spring-boot-starter ${web-unification.version} ``` ## 四、配置说明 > 以下表中所有配置 key 均包括 `web.unification-config` 前缀 | | 配置 key | 说明 | 配置值范围 | 默认值 | |:-----------------------:|:----------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------:|:-------------:| | ***全局配置*** | web.unification-config.enable | 统一配置 starter 开关, true - 开启, false - 关闭, 关闭时该模块所有功能均不生效 | true \ false | true | | ***API 版本配置*** |||| | | web.unification-config.api-version.enable | API 版本控制配置开关, true - 开启, false - 关闭, 关闭时该功能不生效 | true \ false | false | | | web.unification-config.api-version.version-match-strategy | API 版本号匹配策略
STRICT_EQUALS - 版本号严格相等
VALUE_EQUALS - 版本号值相等
MAX_IN_LOW - 版本号 <= 当前请求版本的最大版本号
MIN_IN_HIGH - 版本号 >= 当前请求版本的最小版本号 | STRICT_EQUALS
VALUE_EQUALS
MAX_IN_LOW
MIN_IN_HIGH | STRICT_EQUALS | | ***API 签名验证*** |||| | | web.unification-config.api-signature-check.enable | API 签名验证配置开关, true - 开启, false - 关闭, 关闭时该功能不生效 | true \ false | false | | ***request body 可重复读*** |||| | | web.unification-config.request-body-repeatable-read.enable | request body 可重复读配置开关, true - 开启, false - 关闭, 关闭时该功能不生效, 开启后每次调用 `request.getInputStream()` 都会新的输入流, 实现重复读取 request body | true \ false | false | | ***统一响应处理*** |||| | | web.unification-config.unified-response.enable | 统一响应处理配置开关, true - 开启, false - 关闭, 关闭时该功能不生效 | true \ false | false | | ***全局异常处理*** |||| | | web.unification-config.unified-exception.enable | 全局异常处理配置开关, true - 开启, false - 关闭, 关闭时该功能不生效 | true \ false | false | 1. xxxx 2. xxxx 3. xxxx ## 五、参与贡献 1. Fork 本仓库 2. 新建 Feature_xxx 分支 3. 提交代码 4. 新建 Pull Request