스프링에서 JavaScript의 fetch로 POST 요청을 보내고, JSON 형식의 데이터를 스프링 서버에서 받아서 DTO에 매핑하는 과정은 다음과 같은 원리로 작동합니다.
@RequestBody 애노테이션을 사용했다면, 스프링은 Jackson을 호출하여 전달된 JSON 데이터를 지정된 Java 클래스(DTO)로 변환합니다.{"name": "John", "age": 30}이고, Java 클래스에 String name과 int age 필드가 있다면, Jackson이 자동으로 이를 매핑해줍니다.String, int, boolean 등의 기본 데이터 타입은 JavaScript와 Java에서 모두 공통적으로 사용됩니다. 예를 들어, JavaScript의 string, number, boolean 타입은 Java의 String, int/double, boolean 타입과 직접적으로 대응됩니다. JSON 데이터가 역직렬화될 때, 이러한 타입들은 추가적인 변환 없이 바로 매핑됩니다.@JsonProperty, @JsonIgnore, @JsonFormat 등의 애노테이션을 사용하여 데이터 변환 방식을 세부적으로 제어할 수 있습니다.이러한 과정 덕분에, 프론트엔드의 JavaScript 코드와 백엔드의 Java 애플리케이션이 원활하게 통신할 수 있으며, 개발자는 데이터 변환에 대해 걱정할 필요가 없습니다 (CodingNConcepts) (Baeldung) (Baeldung).