objectMapper.setHandlerInstantiator(this.handlerInstantiator); objectMapper.setHandlerInstantiator( new SpringHandlerInstantiator(this.applicationContext.getAutowireCapableBeanFactory()));
objectMapper.setHandlerInstantiator(this.handlerInstantiator); objectMapper.setHandlerInstantiator( new SpringHandlerInstantiator(this.applicationContext.getAutowireCapableBeanFactory()));
/** * @param objectMapper * @return */ protected MappingJackson2HttpMessageConverter createUberJsonConverter(ObjectMapper objectMapper) { ObjectMapper mapper = objectMapper.copy(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.registerModule(new Jackson2UberModule()); mapper.setHandlerInstantiator(new UberHandlerInstantiator()); return new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class, Collections.singletonList(UBER_JSON), mapper); }
/** * @param objectMapper * @param linkRelationMessageSource * @return */ protected MappingJackson2HttpMessageConverter createCollectionJsonConverter(ObjectMapper objectMapper, MessageSourceAccessor linkRelationMessageSource) { ObjectMapper mapper = objectMapper.copy(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.registerModule(new Jackson2CollectionJsonModule()); mapper.setHandlerInstantiator(new CollectionJsonHandlerInstantiator(linkRelationMessageSource)); return new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class, Collections.singletonList(COLLECTION_JSON), mapper); }
public ObjectMapper halObjectMapper() { RelProvider defaultedRelProvider = this.relProvider.orElseGet(() -> new EvoInflectorRelProvider()); HalConfiguration halConfiguration = this.halConfiguration.orElseGet(() -> new HalConfiguration()); HalHandlerInstantiator instantiator = new HalHandlerInstantiator(defaultedRelProvider, curieProvider.orElse(null), resourceDescriptionMessageSourceAccessor(), halConfiguration); ObjectMapper mapper = basicObjectMapper(); mapper.registerModule(persistentEntityJackson2Module()); mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(instantiator); return mapper; }
/** * @param objectMapper * @param curieProvider * @param relProvider * @param linkRelationMessageSource * @return */ private MappingJackson2HttpMessageConverter createHalFormsConverter(ObjectMapper objectMapper, CurieProvider curieProvider, RelProvider relProvider, MessageSourceAccessor linkRelationMessageSource) { ObjectMapper mapper = objectMapper.copy(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.registerModule(new Jackson2HalFormsModule()); mapper.setHandlerInstantiator(new HalFormsHandlerInstantiator( relProvider, curieProvider, linkRelationMessageSource, true, this.halFormsConfiguration.getIfAvailable(HalFormsConfiguration::new))); return new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class, Collections.singletonList(HAL_FORMS_JSON), mapper); }
/** * @param objectMapper * @param curieProvider * @param relProvider * @param linkRelationMessageSource * @return */ private MappingJackson2HttpMessageConverter createHalConverter(ObjectMapper objectMapper, CurieProvider curieProvider, RelProvider relProvider, MessageSourceAccessor linkRelationMessageSource) { ObjectMapper mapper = objectMapper.copy(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(new HalHandlerInstantiator(relProvider, curieProvider, linkRelationMessageSource, this.halConfiguration.getIfAvailable(HalConfiguration::new))); return new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class, Arrays.asList(HAL_JSON, HAL_JSON_UTF8), mapper); } }
// retrieve the object mapper from the messageConverter RelProvider provider = beanFactory.getBean("relProvider", RelProvider.class); ObjectMapper mapper = (ObjectMapper) objectMapper; mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator(provider, null)); mapper.enable(SerializationFeature.INDENT_OUTPUT);
public static ObjectMapper initMapper(SimpleModule module) { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(module); mapper.setSerializationInclusion(Include.NON_NULL); mapper.enable(JsonParser.Feature.ALLOW_COMMENTS); mapper.setHandlerInstantiator(new WorkloadHandlerInstantiator()); return mapper; }
@Provider public class JacksonContextResolver implements ContextResolver<ObjectMapper> { private final ObjectMapper mapper = new ObjectMapper(); public JacksonContextResolver() { mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(new HalHandlerInstantiator( new AnnotationRelProvider(), null, null)); } @Override public ObjectMapper getContext(Class<?> type) { return mapper; } }
@Override public ObjectMapper create(HandlerInstantiator instantiator) { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.registerModule(new Jackson2HalModule()); mapper.registerModule(new JacksonClientModule()); mapper.setHandlerInstantiator(instantiator); return mapper; } }
@Override public ObjectMapper create(HandlerInstantiator instantiator) { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.registerModule(new Jackson2HalModule()); mapper.registerModule(new JacksonClientModule()); mapper.setHandlerInstantiator(instantiator); return mapper; } }
public static HttpMessageConverter<Object> HALMessageConverter(){ ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new Jackson2HalModule()); //TODO: need to figure out this curie provider stuff...more in production mode DefaultCurieProvider curieProvider = new DefaultCurieProvider("a", new UriTemplate("http://localhost:8080/myapp/rels/{rel}")); DefaultRelProvider relProvider = new DefaultRelProvider(); objectMapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator(relProvider, curieProvider)); MappingJackson2HttpMessageConverter halConverter = new MappingJackson2HttpMessageConverter(); halConverter.setObjectMapper(objectMapper); halConverter.setSupportedMediaTypes(Arrays.asList(MediaTypes.HAL_JSON)); return halConverter; }
@Bean public MappingJackson2HttpMessageConverter halConverter() { CurieProvider curieProvider = curieProvider(); RelProvider relProvider = new DelegatingRelProvider(relProviderRegistry); ObjectMapper halObjectMapper = new ObjectMapper(); halObjectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); halObjectMapper.registerModule(new Jackson2HalModule()); halObjectMapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator(relProvider, curieProvider, null)); MappingJackson2HttpMessageConverter halConverter = new MappingJackson2HttpMessageConverter(); halConverter.setSupportedMediaTypes(Arrays.asList(MediaTypes.HAL_JSON)); halConverter.setObjectMapper(halObjectMapper); return halConverter; }
TypeConstrainedMappingJackson2HttpMessageConverter messageConverter = new TypeConstrainedMappingJackson2HttpMessageConverter(ResourceSupport.class); messageConverter.setSupportedMediaTypes(Arrays.asList(MediaTypes.HAL_JSON)); ObjectMapper objectMapper = messageConverter.getObjectMapper(); objectMapper.registerModule(new Jackson2HalModule()); objectMapper.setHandlerInstantiator( new Jackson2HalModule.HalHandlerInstantiator(new DefaultRelProvider(), null)); MockMvc mockMvc = MockMvcBuilders.standaloneSetup(testObject) .setMessageConverters(messageConverter).build();
public ObjectMapper halObjectMapper() { RelProvider defaultedRelProvider = this.relProvider.orElseGet(() -> new EvoInflectorRelProvider()); HalConfiguration halConfiguration = this.halConfiguration.orElseGet(() -> new HalConfiguration()); HalHandlerInstantiator instantiator = new HalHandlerInstantiator(defaultedRelProvider, curieProvider.orElse(null), resourceDescriptionMessageSourceAccessor(), halConfiguration); ObjectMapper mapper = basicObjectMapper(); mapper.registerModule(persistentEntityJackson2Module()); mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(instantiator); return mapper; }
@Bean public MappingJackson2HttpMessageConverter halConverter() { CurieProvider curieProvider = curieProvider(); RelProvider relProvider = new DelegatingRelProvider(relProviderRegistry); ObjectMapper halObjectMapper = new ObjectMapper(); halObjectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); halObjectMapper.registerModule(new Jackson2HalModule()); halObjectMapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator(relProvider, curieProvider, null)); MappingJackson2HttpMessageConverter halConverter = new MappingJackson2HttpMessageConverter(); halConverter.setSupportedMediaTypes(Arrays.asList(MediaTypes.HAL_JSON)); halConverter.setObjectMapper(halObjectMapper); return halConverter; }
private List<HttpMessageConverter<?>> potentiallyRegisterModule(List<HttpMessageConverter<?>> converters) { for (HttpMessageConverter<?> converter : converters) { if (converter instanceof MappingJackson2HttpMessageConverter) { MappingJackson2HttpMessageConverter halConverterCandidate = (MappingJackson2HttpMessageConverter) converter; ObjectMapper objectMapper = halConverterCandidate.getObjectMapper(); if (Jackson2HalModule.isAlreadyRegisteredIn(objectMapper)) { return converters; } } } CurieProvider curieProvider = getCurieProvider(beanFactory); RelProvider relProvider = beanFactory.getBean(DELEGATING_REL_PROVIDER_BEAN_NAME, RelProvider.class); ObjectMapper halObjectMapper = beanFactory.getBean(HAL_OBJECT_MAPPER_BEAN_NAME, ObjectMapper.class); halObjectMapper.registerModule(new Jackson2HalModule()); halObjectMapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator(relProvider, curieProvider)); MappingJackson2HttpMessageConverter halConverter = new MappingJackson2HttpMessageConverter(); halConverter.setSupportedMediaTypes(Arrays.asList(HAL_JSON)); //HAL_JSON is just a MediaType instance for application/hal+json halConverter.setObjectMapper(halObjectMapper); List<HttpMessageConverter<?>> result = new ArrayList<HttpMessageConverter<?>>(converters.size()); result.add(halConverter); result.addAll(converters); return result; }
/** * @param objectMapper * @param curieProvider * @param relProvider * @param linkRelationMessageSource * @return */ private MappingJackson2HttpMessageConverter createHalConverter(ObjectMapper objectMapper, CurieProvider curieProvider, RelProvider relProvider, MessageSourceAccessor linkRelationMessageSource) { HalConfiguration halConfiguration = this.halConfiguration.getIfAvailable(); halConfiguration = halConfiguration == null ? new HalConfiguration() : halConfiguration; HalHandlerInstantiator instantiator = new Jackson2HalModule.HalHandlerInstantiator(relProvider, curieProvider, linkRelationMessageSource, halConfiguration); ObjectMapper mapper = objectMapper.copy(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(instantiator); MappingJackson2HttpMessageConverter converter = new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class); converter.setSupportedMediaTypes(Arrays.asList(HAL_JSON, HAL_JSON_UTF8)); converter.setObjectMapper(mapper); return converter; } }
@Bean public SkipperClient skipperClient(SkipperClientProperties properties, RestTemplateBuilder restTemplateBuilder, ObjectMapper objectMapper) { // TODO (Tzolov) review the manual Hal convertion configuration objectMapper.registerModule(new Jackson2HalModule()); objectMapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator( new AnnotationRelProvider(), null, null, new HalConfiguration())); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); RestTemplate restTemplate = restTemplateBuilder .errorHandler(new SkipperClientResponseErrorHandler(objectMapper)) .interceptors(new OAuth2AccessTokenProvidingClientHttpRequestInterceptor()) .messageConverters(Arrays.asList(new StringHttpMessageConverter(), new MappingJackson2HttpMessageConverter(objectMapper))) .build(); return new DefaultSkipperClient(properties.getServerUri(), restTemplate); }