springboot序列化record问题

新建一个RecordJackSonSerializer

  1. public class RecordJackSonSerializer extends JsonSerializer<Record> {
  2.  
  3. @Override
  4. public void serialize(Record record, JsonGenerator gen, SerializerProvider serializers) throws IOException {
  5. gen.writeObject(record.getColumns());
  6. }
  7. }

然后再配置该类

  1. @Configuration
  2. public class JacksonConfiguration {
  3.  
  4.     /**
  5.      * Support for Java date and time API.
  6.      * @return the corresponding Jackson module.
  7.      */
  8.     @Bean
  9.     public JavaTimeModule javaTimeModule() {
  10.         return new JavaTimeModule();
  11.     }
  12.  
  13.     @Bean
  14.     public Jdk8Module jdk8TimeModule() {
  15.         return new Jdk8Module();
  16.     }
  17.     
  18.     @Bean
  19.     @Primary
  20.     @ConditionalOnMissingBean(ObjectMapper.class)
  21.     public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
  22.         ObjectMapper objectMapper = builder.createXmlMapper(false).build();
  23.         SimpleModule simpleModule = new SimpleModule();
  24.         simpleModule.addSerializer(Record.class,new RecordJackSonSerializer());
  25.         objectMapper.registerModule(simpleModule);
  26.         
  27.         objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
  28.             @Override
  29.             public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
  30.                 jsonGenerator.writeString("");
  31.             }
  32.         });
  33.         return objectMapper;
  34.     }
  35.  
  36.  
  37.     /*
  38.      * Jackson Afterburner module to speed up serialization/deserialization.
  39.      */
  40.     @Bean
  41.     public AfterburnerModule afterburnerModule() {
  42.         return new AfterburnerModule();
  43.     }
  44.  
  45.     /*
  46.      * Module for serialization/deserialization of RFC7807 Problem.
  47.      */
  48.     @Bean
  49.     ProblemModule problemModule() {
  50.         return new ProblemModule();
  51.     }
  52.  
  53.     /*
  54.      * Module for serialization/deserialization of ConstraintViolationProblem.
  55.      */
  56.     @Bean
  57.     ConstraintViolationProblemModule constraintViolationProblemModule() {
  58.         return new ConstraintViolationProblemModule();
  59.     }
  60.  
  61. }


评论区

热门分享

扫码入社