스프링에서 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).