java validation 的使用

工具类,自动进行判断
import com.gomefinance.jie.reserveFunds.common.constant.StatusCode;
import com.gomefinance.jie.reserveFunds.dto.BaseResponDTO;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import java.util.Set;

/**
* Created by Administrator on 17/5/10.
*/
public class ValidationUtil {
private static Validator validator;

static {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
validator = vf.getValidator();
}

/**
* @Description: 校验方法
* @param t 将要校验的对象
* void
* @throws
*/
public static <T> BaseResponDTO validate(T t){
Set<ConstraintViolation<T>> set = validator.validate(t);
StringBuilder validateError = new StringBuilder();
if(set.size()>0){
for(ConstraintViolation<T> val : set){
validateError.append(val.getMessage() + " ;");
break;
}
return new BaseResponDTO(StatusCode.ONLINE_LOAN_0022.getCode(),validateError.toString());
}else{
return new BaseResponDTO(StatusCode.ONLINE_LOAN_0000);
}
}
}

model类
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * Created by Administrator on 17/5/9.
 */
public class LoanSpeedReqParamDTO implements Serializable{
    private static final long serialVersionUID = -3725976862025058255L;
    @NotNull(message = "订单号不能为空")
    private String channelOrderId;
    @NotNull(message = "终端标识不能为空")
    private String terminalType;
    private String planCurrTerm;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getChannelOrderId() {
        return channelOrderId;
    }

    public void setChannelOrderId(String channelOrderId) {
        this.channelOrderId = channelOrderId;
    }

    public String getTerminalType() {
        return terminalType;
    }

    public void setTerminalType(String terminalType) {
        this.terminalType = terminalType;
    }

	public String getPlanCurrTerm() {
		return planCurrTerm;
	}

	public void setPlanCurrTerm(String planCurrTerm) {
		this.planCurrTerm = planCurrTerm;
	}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Validation 是一个用于数据验证的框架,它提供了一种简单和灵活的方法来验证 Java 对象。下面是 Java Validation使用方式: 1. 引入依赖 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.1.5.Final</version> </dependency> ``` 2. 创建验证规则 在需要验证的 Java 对象中,使用注解来指定验证规则,例如: ```java public class User { @NotNull(message = "用户名不能为空") private String username; @NotBlank(message = "密码不能为空") private String password; @Email(message = "邮箱格式不正确") private String email; // getters and setters } ``` 上述代码中,我们使用了 `@NotNull`、`@NotBlank` 和 `@Email` 注解来指定验证规则。 3. 进行验证 在需要对对象进行验证的地方,例如 Controller 中,使用 `javax.validation.Validator` 类的 `validate` 方法进行验证,例如: ```java @RestController public class UserController { @Autowired private Validator validator; @PostMapping("/user") public ResponseEntity<?> createUser(@RequestBody @Valid User user) { // 如果验证不通过,将抛出 ConstraintViolationException 异常 Set<ConstraintViolation<Object>> violations = validator.validate(user); if (!violations.isEmpty()) { List<String> errorMessages = new ArrayList<>(); for (ConstraintViolation<Object> violation : violations) { errorMessages.add(violation.getMessage()); } return ResponseEntity.badRequest().body(errorMessages); } // 验证通过,进行业务逻辑处理 return ResponseEntity.ok().build(); } } ``` 上述代码中,我们使用了 `@Valid` 注解来启用数据验证,使用 `validator.validate(user)` 方法对对象进行验证,如果验证不通过,将抛出 `ConstraintViolationException` 异常,我们将异常信息封装成错误响应体返回。 以上就是 Java Validation使用方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值