【发布时间】:2016-02-22 19:46:19
【问题描述】:
有人知道是否可以在我的实体中创建一个方法,以便在我将注释 @Valid 放入我的类中时执行?
例子:
我有这个对象:
public class Area {
@NotEmpty
private String unidade;
@NotNull
private double tamanho;
public String getUnidade() {
return unidade;
}
public void setUnidade(String unidade) {
this.unidade = unidade;
}
public double getTamanho() {
return tamanho;
}
public void setTamanho(double tamanho) {
this.tamanho = tamanho;
}
}
我有这个方法:
@RestController
@RequestMapping("/recolhimento")
public class RecolhimentoController {
@RequestMapping(method = RequestMethod.GET)
public boolean getRecolhimento(@Valid Area area){
...
}
}
所以当我调用此方法时,Spring Boot 将验证我的模型区域(但我想创建一个在我使用 @Valid 时将执行的方法。
有可能吗?怎么样?
【问题讨论】:
-
您的问题到底是什么?您想知道如何使用
@Valid,或者您想以编程方式确定对象是否有效? -
我知道@Valid 的工作原理。我想知道如何在我的模型中创建一种方法,当我在我的方法中添加一个“有效”时将执行该方法:D
-
让我们退后一步,实际上,就功能而言,您想要实现什么?知道这将有助于提供有意义的答案。只是将
@Valid放在某处不会导致任何方法被执行。恰恰相反:当在 CDI 或 Spring bean 等托管对象上调用带有@Valid的方法时,这将触发对带注释的参数或返回值的验证。
标签: validation spring-boot hibernate-validator