Hidewnd Docs Hidewnd Docs
首页
  • 常用开发环境
  • 常用提示词
  • 常用Linux命令
  • 常用Git规范及命令
  • Java开发聊天机器人
  • word模板生成实现方案
  • 基于Go写一个极简的通讯demo
  • SpringBoot配置文件加密处理
  • SpringBoot优雅的抛出业务异常
  • 通用大模型适配器
  • 10分钟快速搭建个人博客
  • [学习笔记]Lua
  • [学习笔记]JVM
  • [学习笔记]设计模式
  • [部署笔记]搭建Typecho博客
  • [部署笔记]部署Qsign签名机
  • [部署笔记]安装PVE系统
  • [部署笔记]部署KingBaseV9电科金仓
  • 技艺成本
  • Rules
  • Setting
  • Skill
  • 剑三网站合集
  • 合并大区角色数据处理
  • 25PT冷龙峰教学笔记
  • 25PT太极宫教学笔记
  • 25PT弓月城教学笔记
关于
GitHub (opens new window)
首页
  • 常用开发环境
  • 常用提示词
  • 常用Linux命令
  • 常用Git规范及命令
  • Java开发聊天机器人
  • word模板生成实现方案
  • 基于Go写一个极简的通讯demo
  • SpringBoot配置文件加密处理
  • SpringBoot优雅的抛出业务异常
  • 通用大模型适配器
  • 10分钟快速搭建个人博客
  • [学习笔记]Lua
  • [学习笔记]JVM
  • [学习笔记]设计模式
  • [部署笔记]搭建Typecho博客
  • [部署笔记]部署Qsign签名机
  • [部署笔记]安装PVE系统
  • [部署笔记]部署KingBaseV9电科金仓
  • 技艺成本
  • Rules
  • Setting
  • Skill
  • 剑三网站合集
  • 合并大区角色数据处理
  • 25PT冷龙峰教学笔记
  • 25PT太极宫教学笔记
  • 25PT弓月城教学笔记
关于
GitHub (opens new window)
  • Cursor
  • Rules

    • caching-and-distributed-lock
    • database-entity-annotations
    • design-patterns
    • idempotency-specification
    • java-21-language-specification
    • java-clean-code-effective-java-spec
    • java-entity-vo-specification
    • java-language-specification
    • logging-specification
    • openapi-and-api-doc-spec
    • persistence-repository-specification
    • rest-api-specification
    • springboot-architecture-layering
    • springboot-config-and-profiles
    • springboot-exception-and-error-code
    • springboot-testing-specification
    • validation-specification
      • 校验框架与注解
      • 控制器入参校验
      • 校验分组
      • 错误信息与国际化
      • 服务层防御性校验
  • Setting

  • Skill

  • Cursor
  • Rules
hidewnd
目录

Bean 校验与参数校验规范

# Bean 校验与参数校验规范

# 校验框架与注解

  • 统一使用 Bean Validation 标准注解进行参数校验
  • 常用注解包括 @NotNull、@NotBlank、@Size、@Min、@Max 等
  • 复杂规则使用自定义约束注解与校验器实现

# 控制器入参校验

  • Controller 层入参对象统一使用 VO 或 DTO 类型
  • 在方法参数上使用 @Valid 或 @Validated 触发校验
@PostMapping("/users")
public Result<Void> createUser(@RequestBody @Valid UserCreateReqVO reqVO) {
    // 业务处理
}
1
2
3
4

# 校验分组

  • 对创建、更新等不同场景使用分组校验
  • 在 VO 中通过 groups 属性标记场景
public interface CreateGroup {}

public interface UpdateGroup {}

@NotNull(groups = UpdateGroup.class)
private Long id;
1
2
3
4
5
6

# 错误信息与国际化

  • 校验错误消息统一在注解或消息文件中维护
  • 对外错误响应通过统一异常处理器转换为统一返回体结构

# 服务层防御性校验

  • 对关键服务接口在应用层或领域层增加必要的防御性校验
  • 对来自外部系统或不可信数据源的参数在入口处进行严格校验
springboot-testing-specification
Setting

← springboot-testing-specification Setting→

github
Theme by Vdoing | Copyright © 2024-2026 Hidewnd
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式