类org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter源码实例Demo

下面列出了怎么用org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: openapi-generator   文件: ApiClient.java
/**
 * Build the RestTemplate used to make HTTP requests.
 * @return RestTemplate
 */
protected RestTemplate buildRestTemplate() {
    List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();
    messageConverters.add(new MappingJackson2HttpMessageConverter());
    XmlMapper xmlMapper = new XmlMapper();
    xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
    xmlMapper.registerModule(new JsonNullableModule());
    messageConverters.add(new MappingJackson2XmlHttpMessageConverter(xmlMapper));

    RestTemplate restTemplate = new RestTemplate(messageConverters);
    
    for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
        if(converter instanceof AbstractJackson2HttpMessageConverter){
            ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
            ThreeTenModule module = new ThreeTenModule();
            module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
            module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
            module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
            mapper.registerModule(module);
            mapper.registerModule(new JsonNullableModule());
        }
    }
    // This allows us to read the response more than once - Necessary for debugging.
    restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
    return restTemplate;
}
 
源代码2 项目: openapi-generator   文件: ApiClient.java
/**
 * Build the RestTemplate used to make HTTP requests.
 * @return RestTemplate
 */
protected RestTemplate buildRestTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
        if(converter instanceof AbstractJackson2HttpMessageConverter){
            ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
            ThreeTenModule module = new ThreeTenModule();
            module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
            module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
            module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
            mapper.registerModule(module);
            mapper.registerModule(new JsonNullableModule());
        }
    }
    // This allows us to read the response more than once - Necessary for debugging.
    restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
    return restTemplate;
}
 
源代码3 项目: tutorials   文件: ApiClient.java
/**
 * Build the RestTemplate used to make HTTP requests.
 * @return RestTemplate
 */
protected RestTemplate buildRestTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
        if(converter instanceof AbstractJackson2HttpMessageConverter){
            ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
            ThreeTenModule module = new ThreeTenModule();
            module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
            module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
            module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
            mapper.registerModule(module);
            mapper.registerModule(new JsonNullableModule());
        }
    }
    // This allows us to read the response more than once - Necessary for debugging.
    restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
    return restTemplate;
}
 
@Override
public boolean supports(MethodParameter methodParameter, Type targetType,
		Class<? extends HttpMessageConverter<?>> converterType) {

	return (AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType) &&
			methodParameter.getParameterAnnotation(JsonView.class) != null);
}
 
@Test
public void requestMappingHandlerAdapter() throws Exception {
	ApplicationContext context = initContext(WebConfig.class);
	RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
	List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
	assertEquals(12, converters.size());
	converters.stream()
			.filter(converter -> converter instanceof AbstractJackson2HttpMessageConverter)
			.forEach(converter -> {
				ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter) converter).getObjectMapper();
				assertFalse(mapper.getDeserializationConfig().isEnabled(DEFAULT_VIEW_INCLUSION));
				assertFalse(mapper.getSerializationConfig().isEnabled(DEFAULT_VIEW_INCLUSION));
				assertFalse(mapper.getDeserializationConfig().isEnabled(FAIL_ON_UNKNOWN_PROPERTIES));
				if (converter instanceof MappingJackson2XmlHttpMessageConverter) {
					assertEquals(XmlMapper.class, mapper.getClass());
				}
			});

	ConfigurableWebBindingInitializer initializer =
			(ConfigurableWebBindingInitializer) adapter.getWebBindingInitializer();
	assertNotNull(initializer);

	ConversionService conversionService = initializer.getConversionService();
	assertNotNull(conversionService);
	assertTrue(conversionService instanceof FormattingConversionService);

	Validator validator = initializer.getValidator();
	assertNotNull(validator);
	assertTrue(validator instanceof LocalValidatorFactoryBean);

	DirectFieldAccessor fieldAccessor = new DirectFieldAccessor(adapter);
	@SuppressWarnings("unchecked")
	List<Object> bodyAdvice = (List<Object>) fieldAccessor.getPropertyValue("requestResponseBodyAdvice");
	assertEquals(2, bodyAdvice.size());
	assertEquals(JsonViewRequestBodyAdvice.class, bodyAdvice.get(0).getClass());
	assertEquals(JsonViewResponseBodyAdvice.class, bodyAdvice.get(1).getClass());
}
 
源代码6 项目: mPaaS   文件: ResponseEntityAdvice.java
@Override
public boolean supports(MethodParameter methodParameter,
                        Class<? extends HttpMessageConverter<?>> aClass) {
    String requeireType = methodParameter.getGenericParameterType().getTypeName();
    return requeireType.startsWith(ResponseEntity.class.getTypeName())
            && AbstractJackson2HttpMessageConverter.class.isAssignableFrom(aClass);
}
 
源代码7 项目: mPass   文件: ResponseEntityAdvice.java
@Override
public boolean supports(MethodParameter methodParameter,
                        Class<? extends HttpMessageConverter<?>> aClass) {
    String requeireType = methodParameter.getGenericParameterType().getTypeName();
    return requeireType.startsWith(ResponseEntity.class.getTypeName())
            && AbstractJackson2HttpMessageConverter.class.isAssignableFrom(aClass);
}
 
@Override
public boolean supports(MethodParameter methodParameter, Type targetType,
		Class<? extends HttpMessageConverter<?>> converterType) {

	return (AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType) &&
			methodParameter.getParameterAnnotation(JsonView.class) != null);
}
 
@Test
public void requestMappingHandlerAdapter() throws Exception {
	ApplicationContext context = initContext(WebConfig.class);
	RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
	List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
	assertEquals(12, converters.size());
	converters.stream()
			.filter(converter -> converter instanceof AbstractJackson2HttpMessageConverter)
			.forEach(converter -> {
				ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter) converter).getObjectMapper();
				assertFalse(mapper.getDeserializationConfig().isEnabled(DEFAULT_VIEW_INCLUSION));
				assertFalse(mapper.getSerializationConfig().isEnabled(DEFAULT_VIEW_INCLUSION));
				assertFalse(mapper.getDeserializationConfig().isEnabled(FAIL_ON_UNKNOWN_PROPERTIES));
				if (converter instanceof MappingJackson2XmlHttpMessageConverter) {
					assertEquals(XmlMapper.class, mapper.getClass());
				}
			});

	ConfigurableWebBindingInitializer initializer =
			(ConfigurableWebBindingInitializer) adapter.getWebBindingInitializer();
	assertNotNull(initializer);

	ConversionService conversionService = initializer.getConversionService();
	assertNotNull(conversionService);
	assertTrue(conversionService instanceof FormattingConversionService);

	Validator validator = initializer.getValidator();
	assertNotNull(validator);
	assertTrue(validator instanceof LocalValidatorFactoryBean);

	DirectFieldAccessor fieldAccessor = new DirectFieldAccessor(adapter);
	@SuppressWarnings("unchecked")
	List<Object> bodyAdvice = (List<Object>) fieldAccessor.getPropertyValue("requestResponseBodyAdvice");
	assertEquals(2, bodyAdvice.size());
	assertEquals(JsonViewRequestBodyAdvice.class, bodyAdvice.get(0).getClass());
	assertEquals(JsonViewResponseBodyAdvice.class, bodyAdvice.get(1).getClass());
}
 
源代码10 项目: openapi-generator   文件: ApiClient.java
/**
 * Set the date format used to parse/format date parameters.
 * @param dateFormat Date format
 * @return API client
 */
public ApiClient setDateFormat(DateFormat dateFormat) {
    this.dateFormat = dateFormat;
    for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
        if(converter instanceof AbstractJackson2HttpMessageConverter){
            ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
            mapper.setDateFormat(dateFormat);
        }
    }
    return this;
}
 
源代码11 项目: openapi-generator   文件: ApiClient.java
/**
 * Set the date format used to parse/format date parameters.
 * @param dateFormat Date format
 * @return API client
 */
public ApiClient setDateFormat(DateFormat dateFormat) {
    this.dateFormat = dateFormat;
    for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
        if(converter instanceof AbstractJackson2HttpMessageConverter){
            ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
            mapper.setDateFormat(dateFormat);
        }
    }
    return this;
}
 
源代码12 项目: BlogManagePlatform   文件: WebMvcConfig.java
/**
 * 配置消息转换器
 * @author Frodez
 * @date 2019-05-10
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
	//清除掉原本的AbstractJackson2HttpMessageConverter。
	converters.removeIf((iter) -> {
		return iter instanceof AbstractJackson2HttpMessageConverter;
	});
	converters.add(0, new ResultConverter());
	converters.add(1, new JsonConverter());
}
 
源代码13 项目: jfilter   文件: FilterConfiguration.java
/**
 * Add custom converter extemded from AbstractJackson2HttpMessageConverter
 * Note: Message converter should contain FilterObjectMapper or FilterXmlMapper in objectMapper property for correct filtering
 *
 * @param converter instance of message converter extended from {@link AbstractJackson2HttpMessageConverter}
 * @param <T>       {@link AbstractJackson2HttpMessageConverter}
 * @return instance of {@link FilterConfiguration}
 */
public <T extends AbstractJackson2HttpMessageConverter> FilterConfiguration withCustomConverter(T converter) {
    if (converter == null)
        throw new IllegalArgumentException("Converter coudn't be null");

    if (!(converter.getObjectMapper() instanceof FilterObjectMapper) &&
            !(converter.getObjectMapper() instanceof FilterXmlMapper))
        throw new IllegalArgumentException("Converter should contain FilterObjectMapper or FilterXmlMapper in objectMapper property for correct filtering");
    customConverters.add(converter);
    return this;
}
 
源代码14 项目: blade-tool   文件: MessageConfiguration.java
/**
 * 使用 JACKSON 作为JSON MessageConverter
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
	converters.removeIf(x -> x instanceof StringHttpMessageConverter || x instanceof AbstractJackson2HttpMessageConverter);
	converters.add(new StringHttpMessageConverter(Charsets.UTF_8));
	converters.add(new ByteArrayHttpMessageConverter());
	converters.add(new ResourceHttpMessageConverter());
	converters.add(new ResourceRegionHttpMessageConverter());
	converters.add(new MappingApiJackson2HttpMessageConverter(objectMapper));
}
 
源代码15 项目: lams   文件: JsonViewRequestBodyAdvice.java
@Override
public boolean supports(MethodParameter methodParameter, Type targetType,
		Class<? extends HttpMessageConverter<?>> converterType) {

	return (AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType) &&
			methodParameter.getParameterAnnotation(JsonView.class) != null);
}
 
@Override
public boolean supports(MethodParameter methodParameter, Type targetType,
		Class<? extends HttpMessageConverter<?>> converterType) {

	return (AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType) &&
			methodParameter.getParameterAnnotation(JsonView.class) != null);
}
 
@Test
public void requestMappingHandlerAdapter() throws Exception {
	ApplicationContext context = initContext(WebConfig.class);
	RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
	List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
	assertEquals(9, converters.size());
	for(HttpMessageConverter<?> converter : converters) {
		if (converter instanceof AbstractJackson2HttpMessageConverter) {
			ObjectMapper objectMapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
			assertFalse(objectMapper.getDeserializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION));
			assertFalse(objectMapper.getSerializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION));
			assertFalse(objectMapper.getDeserializationConfig().isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES));
			if (converter instanceof MappingJackson2XmlHttpMessageConverter) {
				assertEquals(XmlMapper.class, objectMapper.getClass());
			}
		}
	}

	ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) adapter.getWebBindingInitializer();
	assertNotNull(initializer);

	ConversionService conversionService = initializer.getConversionService();
	assertNotNull(conversionService);
	assertTrue(conversionService instanceof FormattingConversionService);

	Validator validator = initializer.getValidator();
	assertNotNull(validator);
	assertTrue(validator instanceof LocalValidatorFactoryBean);

	DirectFieldAccessor fieldAccessor = new DirectFieldAccessor(adapter);
	@SuppressWarnings("unchecked")
	List<Object> bodyAdvice = (List<Object>) fieldAccessor.getPropertyValue("requestResponseBodyAdvice");
	assertEquals(2, bodyAdvice.size());
	assertEquals(JsonViewRequestBodyAdvice.class, bodyAdvice.get(0).getClass());
	assertEquals(JsonViewResponseBodyAdvice.class, bodyAdvice.get(1).getClass());
}
 
源代码18 项目: tutorials   文件: ApiClient.java
/**
 * Set the date format used to parse/format date parameters.
 * @param dateFormat Date format
 * @return API client
 */
public ApiClient setDateFormat(DateFormat dateFormat) {
    this.dateFormat = dateFormat;
    for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
        if(converter instanceof AbstractJackson2HttpMessageConverter){
            ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
            mapper.setDateFormat(dateFormat);
        }
    }
    return this;
}
 
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
	return AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType);
}
 
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
	return AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType);
}
 
源代码21 项目: halo   文件: CommonResultControllerAdvice.java
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
    return AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType);
}
 
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
	return AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType);
}
 
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
	return AbstractJackson2HttpMessageConverter.class.isAssignableFrom(converterType);
}
 
源代码24 项目: spring-vault   文件: VaultKeyValueAccessor.java
private static ObjectMapper extractObjectMapper(VaultOperations vaultOperations) {

		Optional<ObjectMapper> mapper = vaultOperations.doWithSession(operations -> {

			if (operations instanceof RestTemplate) {

				RestTemplate template = (RestTemplate) operations;

				Optional<AbstractJackson2HttpMessageConverter> jackson2Converter = template.getMessageConverters()
						.stream().filter(AbstractJackson2HttpMessageConverter.class::isInstance) //
						.map(AbstractJackson2HttpMessageConverter.class::cast) //
						.findFirst();

				return jackson2Converter.map(AbstractJackson2HttpMessageConverter::getObjectMapper);
			}

			return Optional.empty();
		});

		return mapper.orElseGet(ObjectMapper::new);
	}
 
 类所在包
 同包方法