인프런 커뮤니티 질문&답변

현자타임님의 프로필 이미지
현자타임

작성한 질문수

[초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기

2.4. BaseResponse 만들기

DTO 생성 과정에서 궁금한 점이 있어요!!

작성

·

403

0

DTO를 생성할 때 코드가 너무 많이 생성되는데 더 간편하고 쉽게 벨리데이션 처리할 수 있는 방법은 없을까요?

답변 3

0

김대디님의 프로필 이미지
김대디
지식공유자

이전에 이와 관련된 질문을 남겨주신 분이 계셔서 해당 글 읽어보시면 도움되실 것 같습니다.

감사합니다.


https://www.inflearn.com/questions/1012428/validation-%EA%B4%80%EB%A0%A8%ED%95%B4%EC%84%9C-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

현자타임님의 프로필 이미지
현자타임
질문자

답변 감사합니다!!

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 문서나 관련된 자료를 참고하시면 도움이 될 것입니다. 감사합니다!

현자타임님의 프로필 이미지
현자타임

작성한 질문수

질문하기