当Spring MVC绑定时Spring需要属性

时间:2015-09-18 21:44:33

标签: java spring spring-mvc

我有一个@RestController,它有一个@RequestMapping方法。它需要一个参数作为类的实例,EmailTemplate:

   public List<Message> sendEmail(EmailTemplate emailTemplate) {
    return emailService.sendEmail(emailTemplate);
}

我想要求emailTemplate的两个String属性不包含null或仅包含空格。但是,一般不应该要求它。换句话说,在传递给sendEmail时应该是必需的,但不一定在代码可能实例化该类的其他地方。 Spring是否提供了一种注释方式来实现这一目标?

1 个答案:

答案 0 :(得分:1)

是。 Spring支持Bean验证。 Bean验证允许在验证约束上设置groups

因此,只需使用类似SendEmailGroup.class的组向两个字段添加约束,并使用sendEmail()注释@Validated(SendEmailGroup.class)的EmailTemplate参数。