# web-sdk
**Repository Path**: baichuaniot/web-sdk
## Basic Information
- **Project Name**: web-sdk
- **Description**: web开发工具
- **Primary Language**: Java
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-09-22
- **Last Updated**: 2026-07-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# web-sdk
web-sdk 是一个 Java Web 开发工具库,提供了审计日志、网关过滤器、Excel 处理、安全认证、响应式编程支持等一系列常用 Web 开发功能。
## 功能特性
### 审计日志
- `@Audit` 注解:用于方法级审计日志记录
- `AuditContext` 接口:审计上下文定义
- `AuditLog` 类:审计日志实体,包含应用名、操作人、IP、请求路径、执行时间等详细信息
### 网关过滤器
- **DebugFilter**:请求/响应调试过滤器,支持 Ant 路径匹配和正则表达式,可记录请求头、请求体、响应头、响应体
- **HeaderAppendAuthorizationFilter**:JWT 认证信息追加到请求头
- **HeaderAppendMemberUidFilter**:JWT 用户 ID 追加到请求头
### Excel 处理
- `@ExcelColumn` 注解:标记 Excel 列映射
- `ExcelReader`:通用的 Excel 读取器,支持自定义验证逻辑
- `ExcelReaderOld`:传统 Excel 读取方式
### 响应式编程支持
- `CachedBodyServerHttpRequest`:可缓存请求体的请求装饰器
- `CachedBodyServerHttpResponse`:可缓存响应体的响应装饰器
- `ClientIP`:获取客户端真实 IP
- `JwtPrincipalArgumentResolver`:JWT 用户信息参数解析器
- `JwtSecurityContextRepository`:JWT 安全上下文仓库
- `Restful`:响应式 RESTful 响应构建
### 安全模块
- `@Authorization` 注解:方法级授权注解
- `JwtCodec`:JWT 编解码接口
- `PasswordEncryption`:密码加密接口
- `Md5Encryption`:MD5 密码加密实现
- `PrincipalPayload`:用户信息载体接口
- `PrincipalCodec`:用户信息编解码接口
### Servlet 支持
- `AuditInterceptor`:审计拦截器
- `AuthorizationInterceptor`:授权拦截器
- `ClientIP`:获取客户端 IP(Servlet 版)
- `Restful`:传统 RESTful 响应构建
### 异常处理
- `BearerTokenException`:Bearer Token 异常
- `BusinessException`:业务异常
- `ForbiddenException`:禁止访问异常
- `NoSuchEntityException`:实体不存在异常
- `AuthenticationException`:认证异常
- `ValidationException`:验证异常
### 工具类
- `BearerToken`:Bearer Token 解析
- `IPv4`:IPv4 地址工具
- `SnowFlake`:雪花算法 ID 生成器
- `ValidationUtils`:验证工具
## 软件架构
项目采用模块化设计,主要包含以下模块:
- `audit` - 审计日志模块
- `error` - 错误异常模块
- `gateway` - Spring Cloud Gateway 过滤器模块
- `io` - Excel 处理模块
- `reactive` - 响应式编程模块
- `security模块
- `` - 安全认证servlet` - Servlet 拦截器模块
- `utils` - 工具类模块
- `validation` - 数据验证模块
## 技术栈
- Java 8+
- Spring Framework
- Spring Cloud Gateway
- Reactor (响应式编程)
## 快速开始
### Maven 依赖
```xml
com.github.baichuanwebId>
-sdk
1.0.0
```
### 使用示例
#### 审计日志
```java
@Audit
public void doSomething() {
// 业务逻辑
}
```
#### JWT 认证
```java
JwtCodec codec = new YourJwtCodec();
JwtPrincipalArgumentResolver resolver =
new JwtPrincipalArgumentResolver<>(codec);
```
#### Excel 读取
```java
ExcelReader reader = new ExcelReader<>(inputStream, User.class)
.validate(row -> {
// 验证逻辑
return Result.success(row);
});
Result result = reader.next();
```
#### 客户端 IP 获取
```java
// Servlet 环境
String ip = ClientIP.get(request);
// 响应式环境
String ip = ClientIP.get(serverHttpRequest);
```
## 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
## 许可证
本项目遵循 MIT 许可证。