POST API와 PUT API를 사용할 때 Json을 통해서 RequestBody를 받게 된다.
Json에서는 Snake Case방식을 사용하고, Java에서는 Camel Case를 사용한다.
둘의 변수 네이밍 방식이 다르기 때문에 Java에서 Json을 받거나 보낼때 제대로 받지 못하는 상황이 발생한다.
그렇지만 스프링 부트에서는 어노테이션을 사용하여 이를 해결할 수 있다.
# UserDto.java
private String name;
private int age;
private List<CarDto> carList;
# CarDto.java
private String name;
private String carNumber;
{
"name" : "steve",
"age" : 20,
"car_list" : [
{
"name" : "BMW",
"car_number" : "11가 1234"
},
{
"name" : "A4",
"car_number" : "22가 3456"
}
]
}
name='steve',
age=20,
carList=null
@JsonProperty("car_number")
private String carNumber;
@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserDto {
private String name;
private int age;
private List<CarDto> carList;