TranslationBeanSerializerModifier.java 1.0 KB

1234567891011121314151617181920212223242526272829
  1. package com.ruoyi.common.translation.handler;
  2. import com.fasterxml.jackson.databind.BeanDescription;
  3. import com.fasterxml.jackson.databind.SerializationConfig;
  4. import com.fasterxml.jackson.databind.ser.BeanPropertyWriter;
  5. import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
  6. import java.util.List;
  7. /**
  8. * Bean 序列化修改器 解决 Null 被单独处理问题
  9. *
  10. * @author Lion Li
  11. */
  12. public class TranslationBeanSerializerModifier extends BeanSerializerModifier {
  13. @Override
  14. public List<BeanPropertyWriter> changeProperties(SerializationConfig config, BeanDescription beanDesc,
  15. List<BeanPropertyWriter> beanProperties) {
  16. for (BeanPropertyWriter writer : beanProperties) {
  17. // 如果序列化器为 TranslationHandler 的话 将 Null 值也交给他处理
  18. if (writer.getSerializer() instanceof TranslationHandler) {
  19. writer.assignNullSerializer(writer.getSerializer());
  20. }
  21. }
  22. return beanProperties;
  23. }
  24. }