어노테이션 종류가 많아서 써왔던 어노테이션들을 정리하고 찾아보기 위한 용도로 만든 페이지
/**
* 등록 일자
*/
@ApiModelProperty(value = "등록 일자")
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss", timezone = "Asia/Seoul")
Instant regDate;
@JsonFormat 어노테이션 : 클라이언트 ( 자바스크립트 ) 에서 Date 포맷에 맞춰 변환
/**
* 클레임 타입 (CLAIM_TYPE) 클레임 유형
*/
@ApiModelProperty(value = "클레임 타입 (CLAIM_TYPE) 클레임 유형")
@Size(max = 1, message = "claimType 의 값은 1이하의 문자 데이터만 허용합니다.")
private String claimType = "";
@Size 어노테이션 : 문자열 데이터의 길이로 검증할때 사용 Regular Expressions 으로 검증하는게 나을지도
/**
* 접수상태
*/
@ApiModelProperty(value = "접수상태")
public EnumClientCounselStatus getStatus(){
return EnumClientCounselStatus.of(this.statusValue);
}
public void setStatus(EnumClientCounselStatus value){
if(value != null)
statusValue = value.getValue();
}
/**
* 문자열 값으로 enum 을 반환한다.
* @param value 문자열 값
* @return enum 객체
*/
public static EnumClientCounselStatus of(String value) {
if(StringUtils.hasText(value)) {
try {
int intValue = Integer.parseInt(value);
return of(intValue);
}
catch (Exception ignored) {
}
}
return null;
}
/**
* 숫자 값으로 enum 을 반환한다.
* @param value 숫자 값
* @return enum 객체
*/
public static EnumClientCounselStatus of(int value) {
return Stream.of(EnumClientCounselStatus.values())
.filter(p -> p.getValue() == value)
.findFirst()
.orElseThrow(null);
}
@Pattern(regexp = "^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])|\\s|^$$", message = "입력값 '${validatedValue}' 는 올바른 날짜 형식이 아닙니다.")
DB 에서 받아온 값을 Enum 형 데이터로 변환해주기 위한 모델 Getter