https://cbw1030.tistory.com/315
보통 JSON은 snake_case를 사용하고 Java는 camelCase를 사용하기 때문에 두개의 형식을 변환해주는 과정이 필요하다.
그때에 사용할 수 있는 라이브러리가 Jackson이다.
Maven Repository에서 디펜던시를 추가시켜주자.
사용할 Dto 클래스에 아래와 같이 적용한다
@Data
public class Student {
@JsonProperty("my_name")
private String myName;
@JsonProperty("my_age")
private String myAge;
@JsonProperty("my_country")
private String myCountry;
}
@Data
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
public class Student {
private String myName;
private String myAge;
private String myCountry;
}
위와 같이 설정하면 알아서 모든 필드가 camelCase에서 snake_case로 변환된다.
위와 같은 설정은 user_id 나 user_name을 키값으로 요청을 받고, 응답을 보낼 수 있지만
user_id / user_name으로 요청을 받고, 다시 userId / userName 형태의 json string으로 응답을 보내거나 할 수 없다.
하지만! 구글링으로 좀 더 찾아보니 jackson의 ObjectMapper 를 사용하면 손쉽게 변경할 수 있었다.
jackson을 사용하기 위해서는 dependencies를 추가해야한다.
다만, spring boot을 사용하고 있다면 따로 추가할 필요는 없다.