当前位置: 首页 > news >正文

郑州网站建设 郑州网站制作网络营销方法有哪些?

郑州网站建设 郑州网站制作,网络营销方法有哪些?,邢台本地信息网,东莞做微网站建设1. 使用Hibernate Validator进行注解校验 这是Java中最常用的参数校验方式,基于JSR 303/JSR 380规范的实现,通常结合Valid或Validated注解进行参数校验。 使用步骤: 添加依赖(如果使用Spring Boot,通常已经内置了Hi…

1. 使用Hibernate Validator进行注解校验

这是Java中最常用的参数校验方式,基于JSR 303/JSR 380规范的实现,通常结合@Valid@Validated注解进行参数校验。

使用步骤:

  • 添加依赖(如果使用Spring Boot,通常已经内置了Hibernate Validator):
<dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId>
</dependency>
  • 在DTO类中使用校验注解:
public class UserDTO {@NotNull(message = "用户名不能为空")@Size(min = 3, max = 20, message = "用户名长度必须在3到20之间")private String username;@Email(message = "邮箱格式不正确")private String email;// 其他字段和getter/setter
}
  • 在Controller中使用@Valid@Validated来触发校验:
@PostMapping("/user")
public ResponseEntity<String> createUser(@Valid @RequestBody UserDTO userDTO) {// 如果校验失败,会自动抛出异常return ResponseEntity.ok("用户创建成功");
}
  • 如果需要自定义异常处理,可以在全局异常处理器中处理MethodArgumentNotValidException
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<Map<String, String>> handleValidationExceptions(MethodArgumentNotValidException ex) {Map<String, String> errors = new HashMap<>();ex.getBindingResult().getAllErrors().forEach(error -> {String fieldName = ((FieldError) error).getField();String errorMessage = error.getDefaultMessage();errors.put(fieldName, errorMessage);});return ResponseEntity.badRequest().body(errors);
}

2. 手动校验

对于复杂的业务逻辑,可能需要手动编写校验逻辑。可以通过Java代码在Controller或Service层进行参数的业务校验。

if (userDTO.getUsername() == null || userDTO.getUsername().length() < 3) {throw new IllegalArgumentException("用户名长度必须大于3");
}

3. 自定义注解

如果Hibernate Validator内置的注解不能满足需求,可以自定义校验注解。比如,创建一个自定义注解来验证某个字段是否满足自定义规则。

自定义注解示例:

  • 创建注解:
@Target({ ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = CustomValidator.class)
public @interface CustomConstraint {String message() default "默认错误信息";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};
}
  • 创建校验逻辑:
public class CustomValidator implements ConstraintValidator<CustomConstraint, String> {@Overridepublic void initialize(CustomConstraint constraintAnnotation) {}@Overridepublic boolean isValid(String value, ConstraintValidatorContext context) {// 自定义校验逻辑return value != null && value.startsWith("A");}
}
  • 在DTO类中使用自定义注解:
public class UserDTO {@CustomConstraint(message = "用户名必须以A开头")private String username;
}

4. Spring的@RequestParam@PathVariable校验

对于简单的请求参数,可以在方法参数中使用@RequestParam@PathVariable结合Hibernate Validator注解进行校验。

@GetMapping("/user/{id}")
public ResponseEntity<UserDTO> getUser(@PathVariable @NotNull(message = "用户ID不能为空") Long id) {// 获取用户逻辑
}
http://www.rdtb.cn/news/2250.html

相关文章:

  • 网站推广排名有什么技巧优化排名
  • 长子营网站建设新公司如何做推广
  • 17年哪个网站做h5最好我想学做互联网怎么入手
  • 做app和做网站那个难深圳seo排名
  • 洛阳市网站建设免费做网站推广的软件
  • 网站建设的利益网络营销推广专家
  • 建设银行人才招聘网站seo算法培训
  • 一个服务器可以做几个网站北京网站
  • 描述网站开发的过程写文的免费软件
  • 网站建设合同交印花税国内seo公司排名
  • 石家庄网站建设专家市场营销产品推广策划方案
  • 企业网站规划与开发宁德市
  • 17.zwd一起做网站池尾站打开百度网站首页
  • 招聘网站建设的目的郴州网站建设
  • 商务网站建设教程公司百度推广一年多少钱
  • 宝鸡网站建设推广seo的含义
  • .net电影网站开发站长
  • 建设通查询设通网站app拉新推广平台代理
  • 可以和朋友合资做网站吗seo优化网站优化
  • 物流网站建设方案网络营销渠道可分为
  • 自然资源网站官网50篇经典软文100字
  • 美食网站是怎么做的软文免费发布平台
  • 做政务网站武汉seo网站管理
  • 老山做网站的公司百度运营优化师
  • 下载做蛋糕网站seo是啥意思
  • 安徽建设住房建设厅网站seo和竞价排名的区别
  • xp 做网站服务器域名seo查询
  • 做网站服务器收费吗山东16市最新疫情
  • 网站建设价目windows系统优化软件
  • 做网页和做网站的区别建站 seo课程