1. ParameterNamesModule 이슈
아래는 WebMvcAutoConfiguration 클래스다.
따로 웹의 설정을 하지 않았다면, messeage 컨버터로 다음과 같이 준비가 되며, Http 메세지를 convert 하는 것은 MappingJackson2HttpMessageConverter 로 자동 등록된다.
그리고, JacksonAutoConfiguration 에 parameterNamesModule 이 등록된다.
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ParameterNamesModule.class)
static class ParameterNamesModuleConfiguration {
@Bean
@ConditionalOnMissingBean
ParameterNamesModule parameterNamesModule() {
return new ParameterNamesModule(JsonCreator.Mode.DEFAULT);
}
}
그런데 만약,
커스텀한 웹 설정을 위해 WebMvcConfig 인터페이스를 구현하고, extendMessageConverters 를 재정의하였다면
parameterNamesModule 를 직접 등록해줘야 한다.
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new ParameterNamesModule());
https://github.com/FasterXML/jackson-modules-java8/tree/master/parameter-names
2. 에너테이션 클래스에서 사용 가능한 타입
- primitive
- String
- an Enum
- another Annotation
- Class
- an array of any of the above
3. 프로젝트 전체 의존성 트리 보기
프로젝트 위치에서
./gradlew app:dependencies
'TIL' 카테고리의 다른 글
TIL) 터미널에서 sftp 접속, Jackson2HttpMessageConverter (0) | 2021.11.20 |
---|---|
TIL) @JsonFormat/@JsonSerialize, Rest response 방식의 404, configureDefaultServletHandling (0) | 2021.11.18 |
TIL) KClass, Sealed class, 고차 함수: 함수 타입, invoke (0) | 2021.11.09 |
TIL) JWT 와 보안, CORS, 카카오에서 CORS (0) | 2021.11.07 |
TIL) 필드vs프로퍼티, backing field, backing property (0) | 2021.11.05 |