com.fasterxml.jackson.databind.ObjectMapper.setHandlerInstantiator()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(13.2k)|赞(0)|评价(0)|浏览(112)

本文整理了Java中com.fasterxml.jackson.databind.ObjectMapper.setHandlerInstantiator()方法的一些代码示例,展示了ObjectMapper.setHandlerInstantiator()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObjectMapper.setHandlerInstantiator()方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.ObjectMapper
类名称:ObjectMapper
方法名:setHandlerInstantiator

ObjectMapper.setHandlerInstantiator介绍

[英]Method for configuring HandlerInstantiator to use for creating instances of handlers (such as serializers, deserializers, type and type id resolvers), given a class.
[中]方法,用于在给定类的情况下配置HandlerInstantiator以用于创建处理程序实例(例如序列化程序、反序列化程序、类型和类型id解析程序)。

代码示例

代码示例来源:origin: spring-projects/spring-framework

objectMapper.setHandlerInstantiator(this.handlerInstantiator);
objectMapper.setHandlerInstantiator(
    new SpringHandlerInstantiator(this.applicationContext.getAutowireCapableBeanFactory()));

代码示例来源:origin: org.springframework/spring-web

objectMapper.setHandlerInstantiator(this.handlerInstantiator);
objectMapper.setHandlerInstantiator(
    new SpringHandlerInstantiator(this.applicationContext.getAutowireCapableBeanFactory()));

代码示例来源:origin: spring-projects/spring-hateoas

/**
 * @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);
}

代码示例来源:origin: spring-projects/spring-hateoas

/**
 * @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);
}

代码示例来源:origin: spring-projects/spring-data-rest

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;
}

代码示例来源:origin: spring-projects/spring-hateoas

/**
 * @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);
}

代码示例来源:origin: spring-projects/spring-hateoas

/**
   * @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);
  }
}

代码示例来源:origin: stackoverflow.com

// 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);

代码示例来源:origin: com.github.kucera-jan-cz.esBench/core

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;
}

代码示例来源:origin: stackoverflow.com

@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;
  }
}

代码示例来源:origin: uk.co.blackpepper.bowman/bowman-client

@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;
  }
}

代码示例来源:origin: BlackPepperSoftware/bowman

@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;
  }
}

代码示例来源:origin: stackoverflow.com

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;
}

代码示例来源:origin: de.escalon.hypermedia/hydra-service

@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;
}

代码示例来源:origin: stackoverflow.com

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();

代码示例来源:origin: org.springframework.data/spring-data-rest-webmvc

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;
}

代码示例来源:origin: dschulten/hydra-java

@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;
}

代码示例来源:origin: stackoverflow.com

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;
}

代码示例来源:origin: org.springframework.hateoas/spring-hateoas

/**
   * @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;
  }
}

代码示例来源:origin: spring-cloud/spring-cloud-dataflow

@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);
}

相关文章

微信公众号

最新文章

更多

ObjectMapper类方法