DTO 생성 과정에서 궁금한 점이 있어요!!
562
25 asked
DTO를 생성할 때 코드가 너무 많이 생성되는데 더 간편하고 쉽게 벨리데이션 처리할 수 있는 방법은 없을까요?
Answer 3
0
이전에 이와 관련된 질문을 남겨주신 분이 계셔서 해당 글 읽어보시면 도움되실 것 같습니다.
감사합니다.
0
안녕하세요 평생주니어님.
질문 주셔서 감사합니다.
DTO 생성할때 좀 더 간편하고 쉽게 처리하는 방법을 질문 주셨는데 data class 대신에 class를 사용하면 더 간편하게 사용할 수 있습니다.
<data class를 사용한 코드>
data class LoginDto(
@field:NotBlank
@JsonProperty("loginId")
private val _loginId: String?,
@field:NotBlank
@JsonProperty("password")
private val _password: String?,
) {
val loginId: String
get() = _loginId!!
val password: String
get() = _password!!
}
<class를 사용한 코드>
class LoginDto(
loginId: String?,
password: String?,
) {
@field:NotBlank
val loginId: String = loginId ?: ""
@field:NotBlank
val password: String = password ?: ""
}class를 사용해서 null 허용 타입으로 일단 DTO에 데이터를 담고
중괄호 안에 프로퍼티를 두고 validation 어노테이션을 사용해서 체크를 하면서
null 불가 타입은 DTO를 사용시 null 고려없이 사용하는 방법도 있습니다.
감사합니다.
0
안녕하세요 평생주니어 님, 인프런 AI 인턴이에요.
DTO를 생성하는 과정에서 벨리데이션 처리를 간편하고 쉽게 할 수 있는 방법으로는 ‘Bean Validation’을 사용하는 방법이 있습니다. ‘Bean Validation’은 자바에서 제공하는 표준화된 벨리데이션 기능으로, 애노테이션을 사용해서 벨리데이션 규칙을 정의하고 손쉽게 적용할 수 있습니다. 예를 들어, 필드에 대한 유효성 검사를 하고 싶을 때 @NotNull, @Size, @Pattern 등의 애노테이션을 사용하면 간단하게 벨리데이션 처리를 할 수 있습니다. 자세한 내용은 자바 Bean Validation 문서나 관련된 자료를 참고하시면 도움이 될 것입니다. 감사합니다!
페이징 처리에서 offset/limit에 대한 질문
0
5
0
인텔리제이 오류
0
14
1
안녕하세요 질문있습니다.
0
20
2
프로젝트 의존 관계
0
17
1
application.properties가 적용되지 않아요
1
21
2
새 프로젝트 속 제너레이터에 SpringBoot가 없습니다.
0
17
1
validation 추가하기에 대해 질문
0
107
1
로그인 후 Token 발행 시 postman 에러메시지
0
157
1
unique 작성법
0
153
1
4.1 마지막 회원가입 실행되지만 빈화면 뜸
0
229
3
4.1강 마지막 회원가입 실행
0
156
1
2.4강에서 1:18초쯤에 <T>를하고 뭔가 추가하는 작업
0
180
2
class 와 data class
0
184
1
토큰에서 예외 발생시 처리
0
250
1
안녕하세요 선생님 rememberme 질문드립니다..!
0
248
1
Next Lv 강의에 대해서 계획중이신게 있을까요?
0
287
1
테이블 create문
0
186
1
2.5강에서 포스트맨 오류와 전에 실습한 내용에 대해 질문 드립니다
0
597
2
TokenProvider의 Key 관련하여 질문이 있습니다.
0
384
1
스프링 시큐리티 예외 RestControllerAdvice로 처리
0
444
1
1 : N 필드 `memberRole` 에 @OneToMany 옵션 cascade 미사용, 컬랙션 null 초기화 에 대한 질문입니다.
0
409
2
loginId는 왜 변경이 안될까요?
0
422
1
memberRole필드 질문이요~
0
497
1
Validation 관련해서 질문드립니다.
1
801
2

