2014-10-01 2 views
1

스프링 부트 1.1.6.RELEASE 사용 JSON을 제 MVC 컨트롤러에서 인쇄 할 수 없습니다 - 1 분 이내에 완료 했어야하는 내용 (이전 스프링에서 수없이 구성 했음) 프로젝트)에 몇 시간이 걸렸습니다. 포함스프링 부트는 jsonPrettyPrint = true를 무시합니다.

내가 해봤 여러 가지 :

1) 내 자신의 잭슨 인스턴스

만들기 영향

2) application.properties

http.mappers.jsonPrettyPrint=true 

에서 문서화 된 자동 구성이 사용하지

@Bean 
MappingJackson2HttpMessageConverter jacksonMessageConverter() { 
    MappingJackson2HttpMessageConverter mc = ... 
    mc.setPrettyPrint(**true**); 
    return mc; 
} 

효과 없음

3) 용기 ObjectMapper 주입 그것을

@Inject ObjectMapper objectMapper; 
objectMapper.enable(SerializationFeature.INDENT_OUTPUT); 

objectMapper.withDefaultPrettyPrinter(); 

모두

구성은 적용

4))이 구성을 덮어 한 경우

봄 액츄에이터 (끄기 없다

아무런 효력이 없습니다.

5) 검사, 이중 검사, 트리플, 나는 연결이 거부 확인 종료 오른쪽 호스트를 호출하고있어 확인 코드를 확인하는 출력 내가 JSON을 꽤 구성

아직 방법을 코드 실행되지 해요되어 변경 printing - 이것은 누구나 봄 IO (1.0.2.RELEASE) 또는 Jackson (fasterxml jackson-core 2.3.4)의 부작용과 관련 될 수 있습니까?

답변

2

는이처럼 시도해 봤어 :

@Configuration 
public class TimesheetMvcConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { 

     StringHttpMessageConverter stringConverter = new StringHttpMessageConverter(); 
     stringConverter.setWriteAcceptCharset(false); 
     converters.add(stringConverter); 

     converters.add(new ByteArrayHttpMessageConverter()); 
     converters.add(new ResourceHttpMessageConverter()); 
     converters.add(new SourceHttpMessageConverter<Source>()); 
     converters.add(new AllEncompassingFormHttpMessageConverter()); 

     converters.add(jackson2Converter()); 
    } 

    @Bean 
    public MappingJackson2HttpMessageConverter jackson2Converter() { 
     MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); 
     converter.setObjectMapper(objectMapper()); 
     return converter; 
    } 

    @Bean 
    public ObjectMapper objectMapper() { 
     ObjectMapper objectMapper = new ObjectMapper(); 
     objectMapper.enable(SerializationFeature.INDENT_OUTPUT); 
     return objectMapper; 
    } 
} 
관련 문제