This commit is contained in:
mindol1004
2024-10-21 17:59:04 +09:00
parent d5e8941d5d
commit 868bb01453
57 changed files with 1913 additions and 99 deletions

View File

@@ -8,17 +8,46 @@ import org.springframework.lang.Nullable;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
/**
* 커스텀 HTTP 메시지 변환기 클래스입니다.
*
* <p>이 클래스는 Spring의 MappingJackson2HttpMessageConverter를 확장하여
* JSON 데이터의 직렬화 및 역직렬화를 처리합니다.</p>
*
* <p>Java 8의 날짜 및 시간 API를 지원하기 위해 JavaTimeModule을 등록합니다.</p>
*
* @author mindol
* @version 1.0
*/
public class CommHttpMessageConverter extends MappingJackson2HttpMessageConverter {
/**
* 기본 생성자입니다.
*
* <p>주어진 ObjectMapper를 사용하여 CommHttpMessageConverter를 초기화합니다.</p>
*
* <p>JavaTimeModule을 등록하여 Java 8의 날짜 및 시간 API를 지원합니다.</p>
*
* @param objectMapper JSON 변환에 사용할 ObjectMapper
*/
public CommHttpMessageConverter(ObjectMapper objectMapper) {
super(objectMapper);
objectMapper.registerModule(new JavaTimeModule());
setObjectMapper(objectMapper);
}
/**
* 주어진 클래스 타입과 미디어 타입에 대해 이 변환기가 쓸 수 있는지 확인합니다.
*
* <p>미디어 타입이 지원되는 경우 true를 반환합니다.</p>
*
* @param clazz 변환할 클래스 타입
* @param mediaType 변환할 미디어 타입
* @return 지원하는 경우 true, 그렇지 않으면 false
*/
@Override
public boolean canWrite(@NonNull Class<?> clazz, @Nullable MediaType mediaType) {
return canWrite(mediaType);
}
}