현재 위치 - 회사기업대전 - 기업 정보 조회 - 매개변수 확인을 위해 Java 유효성 검사 API를 사용하는 방법

매개변수 확인을 위해 Java 유효성 검사 API를 사용하는 방법

JAVA의 Hibernate-Validation을 통한 매개변수 검증

JAVA 서버 측 코드를 개발할 때 외부 매개변수의 적법성을 검증해야 할 필요성에 직면하게 되며, hibernate-validator는 일반적으로 사용되는 일부 사용할 수 있는 매개변수 확인 주석이 제공됩니다.

1.maven에서 hibernate-validator에 해당하는 jar를 소개합니다:

org.hibernate

hibernate-validator

4.3.1.Final

2. 모델에서 확인할 필드를 정의합니다(즉, 필드는 비어 있을 수 없으며 최대 길이는 14입니다).

import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;

public class PayRequestDto {

/**

* 결제 완료 시간

* */

@NotEmpty(message="결제 완료 시간은 비워둘 수 없습니다.")

@Size(max=14, message="결제 완료 시간은 비워둘 수 없습니다." {max}자리 초과" )

private String payTime;

public String getPayTime() {

return payTime;

}

public void setPayTime(String payTime) {

this.payTime = payTime;

}

}

3. 유효성 검사 도구 클래스 정의:

import java.util.Set;

import javax.validation.ConstraintViolation;

import javax.validation.Validation;

import javax.validation.Validator;

import org.hibernate.validator.HibernateValidator;

import com.atai.framework.lang.AppException;

p>

public class ValidationUtils {

/**

* 확인을 위해 최대 절전 모드 주석 사용

*

*/

private static Validator 유효성 검사기 = 유효성 검사

.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();

/**

* 기능 설명:

* 〈주석 확인 매개변수〉

*

* @param obj

* @see [관련 클래스/메서드](선택 사항)

* @since [제품/모듈 버전](선택 사항)

*/

public static 무효 검증(T obj)

{

Set> ConstraintViolations = validator.validate(obj);

// 유효성 검사 예외 발생

if (constraintViolations.size( ) > 0) {

throw new AppException("0001", String.format("매개변수 확인 실패: %s", ConstraintViolations.iterator().next().getMessage()))

}

}

}

4. 매개변수 확인을 위해 코드에서 도구 클래스를 호출합니다.

ValidationUtils .validate(requestDto);

다음은 hibernate-validator의 일부 주석에 대한 설명입니다:

@AssertTrue는 부울 필드에 사용되며 true일 수 있습니다.

@AssertFalse 이 필드의 값은 false여야 합니다.

@CreditCardNumber는 신용카드 번호를 대략적으로 확인합니다.

@DecimalMax는 이 값보다 작거나 같을 수 있습니다. value

@DecimalMin은 값보다 크거나 같아야 합니다.

@Digits(integer=,fraction=) 정수, 분수 또는 소수인지 확인하세요. number

@Email은 유효한 이메일 주소인지 확인합니다.

@Future는 이 필드의 날짜가 미래 날짜에 속하는지 확인합니다.

@Length(min =,max=)에 속하는지 확인합니다. 필드 길이가 min과 max 사이인지 여부, 문자열에만 사용할 수 있습니다.

@Max 이 필드의 값은 이보다 작거나 같을 수 있습니다. 이 값으로

@Min 이 필드의 값 값은 이 값보다 크거나 같을 수만 있습니다.

@NotNull은 null일 수 없습니다.

@NotBlank 는 비워둘 수 없으며 확인할 때 공백은 무시됩니다.

@NotEmpty는 Null일 수 없습니다. 여기서 null은 빈 문자열을 나타냅니다.

@Null 필드가 비어 있는지 확인하세요

@Past 필드의 날짜가 과거인지 확인하세요.

@Pattern (regex=,flag=) 주석이 달린 요소는 지정된 정규 표현식을 준수해야 합니다.

@ Range(min=,max=,message=) 주석이 달린 요소는 적절한 범위 내에 있어야 합니다.

@Size(min=, max=) 필드의 크기가 최소와 최대 사이인지 확인하세요. 문자열, 배열, 컬렉션, 맵 등이 될 수 있습니다.

@URL(protocol=, 호스트, 포트)는 프로토콜, 호스트 등이 제공되는 경우 유효한 URL인지 확인합니다. 제공된 조건도 충족해야 합니다.

@Valid 이 주석은 주로 다른 개체를 포함하는 필드에 사용됩니다. 컬렉션, 지도 또는 배열의 필드이거나 필드가 다른 개체에 대한 직접 참조이므로 현재 개체를 확인할 때 필드에서 참조하는 개체도 확인됩니다.

copyright 2024회사기업대전