본문 바로가기
Back-end

Spring Validation in Kotlin

by 신재권 2024. 1. 14.
data class Dto(
    @field:NotNull val x: Int?,
    @field:NotNull val s:String,
)

 

Spring Validation @filed:NotNull 선언이 되어 있으면

객체 타입

  1. null 로 보내면 에러
  2. 아예 json 에 포함되지 않으면 에러

 

Int 등 숫자 타입

  1. Nullable 처리가 되어 있을 시 (Int?)
    • null 로 보내면 에러
    • json 필드에 포함되어 있지 않으면 에러
  2. Nullable 처리가 되어 있지 않을 시 (Int)
    • 빈 값을 보내면, 숫자 기본 값 들어감
    • null 을 보내면, 숫자 기본 값 들어감

 

NotNull 선언 x

객체 타입

  1. 안전 연산자가 있을 시
    • json 필드에 포함되있지 않으면 null로 받음
    • null 로 보낼시 null로 받음
  2. 안전 연산자가 없을 시
    • json 필드에 포함되 있지 않으면 에러
    • null 로 보낼시 에러

 

Controller @Valid 선언 x

DTO 안전 연산자가 없으면 null 처리나 빈 값을 보내지 못함

안전 연산자가 있으면 null이나 빈 값을 보낼 수 있음

-> 숫자 타입은 null 이나 빈 값을 보내면 기본 값으로 초기화

'Back-end' 카테고리의 다른 글

Query DSL 성능 개선  (0) 2024.01.20
Spring AutoConfiguration  (0) 2024.01.20
Spring @Async + ThreadPoolTaskExecutor  (1) 2024.01.14
Spring Security Filter  (0) 2024.01.01
코틀린 - 기본 문법  (1) 2023.10.25