我正在构建一个restapi,请求体中的一个参数被Map到一个枚举。
public class CarDto{ private Level level; }
其中level是:
public enum Level { NEW,OLD }
如何验证请求中的用户输入的枚举值是否正确?例如,对于非空字段,我找到了@NotBlank(message = "Name is mandatory"),但我无法找到上述情况的解决方案。
@NotBlank(message = "Name is mandatory")
63lcw9qa1#
将hibernate validator依赖项添加到项目中,并使用@EnumFormat注解Level字段。
@EnumFormat
@EnumFormat(message = "Invalid level") private Level level;
vc9ivgsu2#
枚举是命名对象的集合,而不是文本。所以你的成员字段private Level level;永远不能为空。该成员字段将仅包含以下三个值之一:
private Level level;
Level.NEW
Level.OLD
null
2条答案
按热度按时间63lcw9qa1#
将hibernate validator依赖项添加到项目中,并使用
@EnumFormat
注解Level字段。vc9ivgsu2#
枚举是命名对象的集合,而不是文本。
所以你的成员字段
private Level level;
永远不能为空。该成员字段将仅包含以下三个值之一:Level.NEW
的引用Level.OLD
的引用null
(没有任何引用)