我有一个REST服务,我的请求体bean用javax.validation注解,比如@NotBlank @NotNull @Pattern
等,在一个特定的字段中,我收到一个编码为string base64的文件,
那么,* 有注解吗,或者我怎么写一个自定义的验证注解,这样它就可以检查字符串是否真的是base64字符串?*
我只需要一个像这样的注解形式的验证:
try {
Base64.getDecoder().decode(someString);
return true;
} catch(IllegalArgumentException iae) {
return false;
}
thnx提前
1条答案
按热度按时间0s7z1bwu1#
是的,您可以为它们编写自己的注解和验证器。
您的注解将如下所示:
约束验证器
javax.validation
实现(我在这里使用您的代码进行实际验证):带注解字段的数据类示例:
以及带有
@Valid
注解的控制器方法示例,需要:酒店预订:另外,如果你想检查fiven字符串是否是base64字符串,你可以使用方法
isBase64()
从apache-commons libraby,类是org.apache.commons.codec.binary.Base64
所以,它看起来像这样Base64.isBase64(str);