springboot 前后端参数处理 空字符串““转null

@Bean
    public Jackson2ObjectMapperBuilder jacksonBuilder() {
        Jackson2ObjectMapperBuilder b = new Jackson2ObjectMapperBuilder();
        // 反序列化时如果是String并且是空字符串, 转为null
        JsonDeserializer<String> deserializer = new JsonDeserializer<String>() {
            @Override
            public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
                String result = StringDeserializer.instance.deserialize(p, ctxt);
                if (StringUtils.isEmpty(result)) {
                    return null;
                }
                return result;
            }
        };

        b.indentOutput(true) // 格式化输出
                .dateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")) // 设置时间格式
                .timeZone("Etc/GMT-8")  // 设置时区
                .deserializerByType(String.class, deserializer); // 注册 deserializer
        return b;
    }

版权声明:本文为weixin_40505132原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。