[SPRING] Javax 유효성 검사 @NotNull 주석 사용법
SPRINGJavax 유효성 검사 @NotNull 주석 사용법
주어진 회사 ID에 대한 문서 목록을 얻는 간단한 방법이 있습니다. 방법은 다음과 같습니다.
@Override
public List<Documents> getDocumentList(@NotNull Integer companyId) {
Company company = new Company(companyId);
return this.documentRepository.findByCompany(company);
}
Javax 검증 제약 조건을 사용하여 전달 된 companyId가 null이 아닌지 확인하고자했습니다. 하지만 null 값을 전달할 수 있으므로 저장소에있는 findByCompany 호출로 전달됩니다. 밸리데이션을 강요하기 위해 @NotNull 앞에 @Valid를 추가했으나 아무것도 수행하지 않았습니다.
null 값을 검사하기 위해 두 줄을 항상 작성할 수 있지만 javax.validation 주석을 사용하여 코드를 더 읽기 쉽고 간결하게 만들려고했습니다. 메서드 매개 변수에서 주석을 작동시키는 방법이 있습니까?
해결법
-
==============================
1.매개 변수 유효성 검사를 활성화하려면 클래스에 @Validated 주석을 달기 만하면됩니다.
매개 변수 유효성 검사를 활성화하려면 클래스에 @Validated 주석을 달기 만하면됩니다.
import org.springframework.validation.annotation.Validated;
-
==============================
2.The Java EE 6 튜토리얼 :
The Java EE 6 튜토리얼 :
다음과 같이 선언 된 bean과 관련된 필드의 유효성을 검사해야합니다.
@Entity @Table(name="users") public class BackgammonUser { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long userId; @Column(name="username") @NotBlank private String userName; @NotBlank private String password; @NotNull private Boolean enabled; }
BackgammonUser는 빈으로 간주됩니다.
-
==============================
3.@ 메서드를 사용하여 클래스를 주입하면 예상대로 작동합니다.
@ 메서드를 사용하여 클래스를 주입하면 예상대로 작동합니다.
@Stateless public class MyBean{ @Inject TestClass test; }
과
public class TestClass { public List<Documents> getDocumentList(@NotNull Integer companyId) { //... } }
null 매개 변수를 사용하여 메서드를 호출하면 ConstraintViolationException이 발생합니다.
WFLYEJB0034: EJB Invocation failed on component MyBean for method ...: javax.ejb.EJBException: javax.validation.ConstraintViolationException: 1 constraint violation(s) occurred during method validation.
-
==============================
4.@NotNull 주석,
@NotNull 주석,
from https://stackoverflow.com/questions/43670862/javax-validation-notnull-annotation-usage by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Bean 클래스를 인스턴스화 할 수 없습니다 : 지정된 클래스는 인터페이스입니다. (0) | 2019.05.07 |
---|---|
[SPRING] Google의 Gson을 사용하여 Json을 Java 객체로 변환 (0) | 2019.05.07 |
[SPRING] Spring @Autowired는 Jpa 저장소를 연결할 수 없습니다. (0) | 2019.05.07 |
[SPRING] 봄 MVC - 예기치 않은 쿼리 문자열 매개 변수가 전달 된 확인하는 방법? (0) | 2019.05.07 |
[SPRING] Java 파일 : 내용이 프롤로그에서 허용되지 않습니다. (0) | 2019.05.07 |