Spring Boot Custom Validation / 패스트캠퍼스 챌린지 02일차

망고쥬스·2021년 11월 2일
0

Spring Boot Custom Validation

@AssertTrue / False를 사용해 method지정을 통해 커스텀 로직을 적용해보자
@ConstraintValidator 를 사용해 재사용이 가능한 커스텀 로직을 적용해보자

@Size (min = 6, max = 6) //YYYYMM 6개만을 요청
private String reqYearMonth; //날짜를 요청

Json으로 요청

{
“reqYearMonth” : “20211102”
}
다만, 의미없는 숫자 “111111”같은게 들어오면 안된다.
이럴 경우에는


```@AssertTime
public boolean reqYearMonth(String reqYearMonth){
 this.reqYearMonth = getReqYearMonth()+”01”;
 //2- reqYearMonth 객체에 받은 yyyyMM값에 01을 더해줘서 기본 값에 검증을 시행한다.
   // 01은 시스템에서 LocalDate를 가져올 떄 yyyyMMdd로 가져오기 때문에 01일이라는 임의적 날짜를 붙혀 사용하게 되고
 // yyyyMM값이 범위 내로 들어오게 되면 true가 리턴되게 된다. (예. 202101입력 → 20210101로 검증진행)
  
try{
LocalDate localDate = LocalDate.parse(this.reqYearMonth, DateTimeFormatter.ofPattern(”yyyyMM”)); 
  //1- 기본적으로 로컬데이트 이기 때문에 6자리가 들어가게 되어 있다. 해서 2번에서 사전작업을 우선 수행해준다
 
 }catch(Exception e){
  return false;
 }
}

@AssertTime
public boolean reqYearMonth(String reqYearMonth){
this.reqYearMonth = getReqYearMonth()+”01”;
//2- reqYearMonth 객체에 받은 yyyyMM값에 01을 더해줘서 기본 값에 검증을 시행한다.
// 01은 시스템에서 LocalDate를 가져올 떄 yyyyMMdd로 가져오기 때문에 01일이라는 임의적 날짜를 붙혀 사용하게 되고
// yyyyMM값이 범위 내로 들어오게 되면 true가 리턴되게 된다. (예. 202101입력 → 20210101로 검증진행)

try{
LocalDate localDate = LocalDate.parse(this.reqYearMonth, DateTimeFormatter.ofPattern(”yyyyMM”));
//1- 기본적으로 로컬데이트 이기 때문에 6자리가 들어가게 되어 있다. 해서 2번에서 사전작업을 우선 수행해준다

 }catch(Exception e){
return false;
}
}


#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Java/Spring웹개발마스터초격차패키지Online

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/3FVdhDa

profile
#newbieDeveloper #since 2021.04.06

0개의 댓글