繁体   English   中英

创建 @ToLowerCase 注释以将字符串值转换为小写

[英]Create @ToLowerCase annotation to convert String value to lower case

我们有 SpringBoot 应用程序。 对于我们的 pojo,我们想要创建一个自定义的 @ToLowerCase 注释,它将字段变量值转换为小写。

例如:

@Data
Employee {
 private String name;

 @ToLowerCase
 private String emailId;
 private String gender;
 private String phoneNumber;
}

所以我的自定义 @ToLowerCase 注释应该将 emailId 转换为小写。 我们想在所有类型的 Pojo 上使用这个注解,无论是 rest 请求 pojo 还是 JPA 实体 pojo。

我已经浏览了许多论坛上的帖子,但没有得到任何合适的解决方案。

是否可以在 Spring Boot 中创建这样的注释? 如果是,那怎么办? 请帮助

谢谢

创建一个自定义转换器: ToLowerCaseConverter

    public class ToLowerCaseConverter extends StdConverter<String, String> {
    @Override
    public String convert(String value) {
        if (value == null){
            return null;
        }
        return value.toLowerCase();
        }
    }

创建新注释后: ToLowerCase 它适用于传入和传出字符串 (@JsonDeserialize/@JsonSerialize)。

@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotationsInside
@JsonSerialize(converter = ToLowerCaseConverter.class)
@JsonDeserialize(converter = ToLowerCaseConverter.class)
public @interface ToLowerCase {
}

最后,您的示例将按预期工作:

@Data
Employee {

 @ToLowerCase
 private String emailId;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM