package com.spring.common.converter; import org.springframework.http.MediaType; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; /** * 커스텀 HTTP 메시지 변환기 클래스입니다. * *

이 클래스는 Spring의 MappingJackson2HttpMessageConverter를 확장하여 * JSON 데이터의 직렬화 및 역직렬화를 처리합니다.

* *

Java 8의 날짜 및 시간 API를 지원하기 위해 JavaTimeModule을 등록합니다.

* * @author mindol * @version 1.0 */ public class CommHttpMessageConverter extends MappingJackson2HttpMessageConverter { /** * 기본 생성자입니다. * *

주어진 ObjectMapper를 사용하여 CommHttpMessageConverter를 초기화합니다.

* *

JavaTimeModule을 등록하여 Java 8의 날짜 및 시간 API를 지원합니다.

* * @param objectMapper JSON 변환에 사용할 ObjectMapper */ public CommHttpMessageConverter(ObjectMapper objectMapper) { super(objectMapper); objectMapper.registerModule(new JavaTimeModule()); setObjectMapper(objectMapper); } /** * 주어진 클래스 타입과 미디어 타입에 대해 이 변환기가 쓸 수 있는지 확인합니다. * *

미디어 타입이 지원되는 경우 true를 반환합니다.

* * @param clazz 변환할 클래스 타입 * @param mediaType 변환할 미디어 타입 * @return 지원하는 경우 true, 그렇지 않으면 false */ @Override public boolean canWrite(@NonNull Class clazz, @Nullable MediaType mediaType) { return canWrite(mediaType); } }