我有一个@RestController,它有一个@RequestMapping方法。它需要一个参数作为类的实例,EmailTemplate:
public List<Message> sendEmail(EmailTemplate emailTemplate) {
return emailService.sendEmail(emailTemplate);
}
我想要求emailTemplate的两个String属性不包含null或仅包含空格。但是,一般不应该要求它。换句话说,在传递给sendEmail时应该是必需的,但不一定在代码可能实例化该类的其他地方。 Spring是否提供了一种注释方式来实现这一目标?
答案 0 :(得分:1)
是。 Spring支持Bean验证。 Bean验证允许在验证约束上设置groups
。
因此,只需使用类似SendEmailGroup.class
的组向两个字段添加约束,并使用sendEmail()
注释@Validated(SendEmailGroup.class)
的EmailTemplate参数。