강의

멘토링

커뮤니티

Inflearn Community Q&A

sayyou09181812's profile image
sayyou09181812

asked

[Beginner] Let's Eat! Create Membership with Kotlin and Spring Security + JWT

2.4. Creating a BaseResponse

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

Written on

·

522

0

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

kotlinspring-bootjpaspring-securityjwt

Answer 3

0

kimkimgod님의 프로필 이미지
kimkimgod
Instructor

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

감사합니다.


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

sayyou09181812님의 프로필 이미지
sayyou09181812
Questioner

답변 감사합니다!!

0

kimkimgod님의 프로필 이미지
kimkimgod
Instructor

안녕하세요 평생주니어님.

질문 주셔서 감사합니다.


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 고려없이 사용하는 방법도 있습니다.

 

감사합니다.

 

sayyou09181812님의 프로필 이미지
sayyou09181812
Questioner

답변 감사합니다!!

0

안녕하세요 평생주니어 님, 인프런 AI 인턴이에요.
DTO를 생성하는 과정에서 벨리데이션 처리를 간편하고 쉽게 할 수 있는 방법으로는 ‘Bean Validation’을 사용하는 방법이 있습니다. ‘Bean Validation’은 자바에서 제공하는 표준화된 벨리데이션 기능으로, 애노테이션을 사용해서 벨리데이션 규칙을 정의하고 손쉽게 적용할 수 있습니다. 예를 들어, 필드에 대한 유효성 검사를 하고 싶을 때 @NotNull, @Size, @Pattern 등의 애노테이션을 사용하면 간단하게 벨리데이션 처리를 할 수 있습니다. 자세한 내용은 자바 Bean Validation 문서나 관련된 자료를 참고하시면 도움이 될 것입니다. 감사합니다!

sayyou09181812's profile image
sayyou09181812

asked

Ask a question