엔지니어 블로그

[SpringBoot] 변수 표기법 변환 (@JsonNaming) 본문

Backend/SpringBoot

[SpringBoot] 변수 표기법 변환 (@JsonNaming)

안기용 2023. 12. 10. 13:15

JAVA는 기본적으로 camel case로 변수명을 선언한다. 

1
2
3
4
5
6
public class UserRequest {
    private String userName;
    private String userPhone;
    private String mail;
}
cs

 

요청하는 Json의 Key값의 표기법을 snake case로 보내게 된다면 값이 제대로 나오지 않는다.

 

1
2
3
4
5
{
    "user_name" : "Spring Boot",
    "user_phone" : "010-0000-0000",
    "mail" : "abc1234@gmail.com"
}
cs

#요청 Json

1
UserRequest(userName=null, userPhone=null, mail=abc1234@gmail.com)
cs

#Null값이 반환된 결과

 

이때 @JsonNaming 어노테이션을 사용하면 표기법이 다른 변수들을 자동으로 매핑해준다.

1
2
3
4
5
6
@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserRequest {
    private String userName;
    private String userPhone;
    private String mail;
}
cs

 

 

1
UserRequest(userName=Spring Boot, userPhone=010-0000-0000, mail=abc1234@gmail.com)
cs