2017-04-19 1 views
2

내가 그러나 다음 잭슨이 String에서/deserialise LocalDateTime을에는 직렬화 할 수 있도록 실패를 유발하고, 사용자 정의 하나에 대한 uriToEntityConverter을 무시 RepositoryRestMvcConfiguration을 확장하려고 해요 나누기. 아래 코드는 내 하위 클래스를 보여줍니다.확장 RepositoryRestMvcConfiguration 잭슨 LocalDateTime 직렬화

또한 pomjackson-datatype-jsr310을 추가해 보았습니다. 지원을 강요 할 수 있는지 확인해 보았지만, 내 서브 클래스가 없으면 대부분 작동하지 않습니다.

@Configuration 
@Import(RepositoryRestMvcConfiguration.class) 
public class RepositoryRestMvcConfigurer extends RepositoryRestMvcConfiguration { 

    @Override 
    @ConfigurationProperties(prefix = "spring.data.rest") 
    public RepositoryRestConfiguration config() { 
    return super.config(); 
    } 


    @Override 
    protected UriToEntityConverter uriToEntityConverter(ConversionService conversionService) { 
    return new OverriddenUriToEntityConverter(persistentEntities(), repositoryInvokerFactory(conversionService), repositories()); 
    } 
} 

편집 : 내가 사용하는 어떤 시리얼 라이저 및 디시리얼라이저 지정 내 LocalDateTime 속성을 주석하여 문제를 해결했지만, 그것은 더 솔루션보다 부두 의식 같은 느낌이 든다.

답변

2

그래서 나는 이것을 스스로 해결했다.

  • RepositoryRestConfigurerAdapter
  • 이전 수준의 것을 반환하고 또한 실제로 RepositoryRestMvcAutoConfiguration 클래스에 AutoConfigureAfter

I를 기반으로 광산에 대한 주석을 구현하는 클래스를 확장하는 클래스 : 실제로 당신은 또한 필요 확장하려면 에서 변경되었지만 @ConditionalOnMissingBean(RepositoryRestMvcConfiguration.class)에서 @ConditionalOnBean(ExtendedRepositoryRestMvcConfiguration.class)으로 변경되었습니다. 이를 통해 오버라이드 된 함수로 RestRepository을 올바르게 구성 할 수있었습니다.

+0

코드를 게시 할 수 있습니까? 어떻게 해결했는지 혼란 스럽습니다. – Piotr

+0

내일은 랩탑 컴퓨터를 가지고있을 때해야 겠지만 Github에 샘플 프로젝트를 올려 놓을 것입니다. –

+1

다음은 샘플 프로젝트입니다. 완전히 테스트하지는 않았지만 확장하는 방법과 Spring에서 가져 가야 할 비트를 보여줍니다. https://github.com/nicholassmith/restconfigurerdemo –