Skip to content

Add a constructor with Module to GenericJackson2JsonRedisSerializer #2601

Closed
@broaden-horizon

Description

@broaden-horizon

Adding Add a constructor with Module to GenericJackson2JsonRedisSerializer would be convenient.

When I tried to register just JavaTimeModule to an ObjectMapper of GenericJackson2JsonRedisSerializer, I had to configure it from scratch like below.

  @Bean
  @Primary
  public ObjectMapper objectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    GenericJackson2JsonRedisSerializer.registerNullValueSerializer(mapper, null);
    StdTypeResolverBuilder builder = new ObjectMapper.DefaultTypeResolverBuilder(ObjectMapper.DefaultTyping.EVERYTHING,
        mapper.getPolymorphicTypeValidator());
    builder = builder.init(JsonTypeInfo.Id.CLASS, null);
    builder = builder.inclusion(JsonTypeInfo.As.PROPERTY);
    mapper.setDefaultTyping(builder);
    mapper.registerModule(new JavaTimeModule());
    return mapper;
  }

If the configuration already defined in a default constructor of GenericJackson2JsonRedisSerializer can be reused for adding Modules, I think it could make codes simpler and easier.

So it would look like below.

public GenericJackson2JsonRedisSerializer(List<Module> modules) {
    this((String) null);
    for (Module module : modules) {
        this.mapper.registerModule(module);
    }
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions