Aws lambda 在aws上的micronaut无服务器功能的响应中包括具有空值的键

Aws lambda 在aws上的micronaut无服务器功能的响应中包括具有空值的键,aws-lambda,jackson,micronaut,aws-serverless,micronaut-aws,Aws Lambda,Jackson,Micronaut,Aws Serverless,Micronaut Aws,我在AWS lambda上部署了Micronaut无服务器功能 默认情况下,它从响应中排除空值,但我需要它们。我尝试了以下方法来解决这个问题,但没有成功 在application.yml中添加了以下内容 杰克逊: 序列化包含:始终 在收到发送响应的POJO上添加了@JsonInclude(JsonInclude.Include.ALWAYS) 尝试使用以下代码重写ObjectMapper: @独生子女 静态类ObjectMapperBeanEventListener实现BeanCreated

我在AWS lambda上部署了Micronaut无服务器功能

默认情况下,它从响应中排除空值,但我需要它们。我尝试了以下方法来解决这个问题,但没有成功

  • 在application.yml中添加了以下内容

    杰克逊: 序列化包含:始终

  • 在收到发送响应的POJO上添加了
    @JsonInclude(JsonInclude.Include.ALWAYS)

  • 尝试使用以下代码重写ObjectMapper:

    @独生子女 静态类ObjectMapperBeanEventListener实现BeanCreatedEventListener{

     @Override
     public ObjectMapper onCreated(BeanCreatedEvent<ObjectMapper> event) {
       logger.info("oncreated objectmapper");
       ObjectMapper mapper = event.getBean();
       mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);
       mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, true);
       mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
       logger.info("oncreated objectmapper exited");
       return mapper;
     }
    
    }

  • 有什么建议吗?如果有其他解决方案,或者我遗漏了什么

    Micronaut版本:2.2.3 Java版本:11

    提前谢谢你的帮助

     @Factory
     @Replaces(ObjectMapperFactory.class)
     public class ObjectMapperConfig extends ObjectMapperFactory {
    
     @Override
     @Singleton
     @Replaces(ObjectMapper.class)
     public ObjectMapper objectMapper(JacksonConfiguration jacksonConfiguration, JsonFactory jsonFactory) {
       final ObjectMapper mapper = super.objectMapper(jacksonConfiguration, jsonFactory);
       mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
       return mapper;
     }