[英]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.