Spring
@JsonProperty 사용이유? 사용법
초록색거북이
2024. 3. 6. 11:33
728x90
반응형
SMALL
어떤 회사의 과제시험을 보는중이였다.
거기서 요구하는 조건에 맞게 API를 개발해야하는 상태..
{
"한국어":"korea",
"영어":"englisth",
"언어":"lang"
}
이 JSON을 가지고 요청을 해야함.
근데 왠걸 키 값이 한글로 되어있음......
자바에는 변수명을 한글로도 표기가 가능해서, 그렇게 개발해도 상관은 없다.
private String 한국어;
private String 영어;
private String 언어;
뭐 이런식으로 해도 정상작동은 한다.
근데 안이쁘잖아....
우선 라이브러리 등록하자.
gradle
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.14.2'
maven
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.2</version>
</dependency>
이럴때는 @JsonProperty을 써보자.
@JsonProperty("한국어")
private String korean;
@JsonProperty("영어")
private String english;
@JsonProperty("언어")
private String lang;
이렇게 하면 변수명도 영어로 이쁘게 살릴수도있고, JSON으로 된 바디값을 받아도 정상적으로 매핑이 가능하다.
+ 추가 보너스
@JsonNaming 이란게 있는데 이거는 공통으로 적용할때 많이 사용한다.
@Data
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
public class lang {
//생략
}
뭐 이런식으로 쓰면됌..
거의 보통 카멜케이스 관련 문제로 종종 쓰곤함.
728x90
반응형
LIST