最佳答案
Spring 支持两种不同的验证方法: Spring 验证和 JSR-303 bean 验证。两者都可以通过定义一个 Spring 验证器来使用,该验证器将委托给包括 bean 验证器在内的其他委托者。目前为止还不错。
但是当对方法进行注释以实际请求验证时,就是另一回事了
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) {
或者像这样
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) {
在这里,@Valid 是 确认,有效,@Valated 是 批注,已验证
JSR-303 Valid 的变体,支持验证规范 设计用于方便使用 Spring 的 JSR-303支持,但是 不是 JSR-303特有的。
这没什么用,因为它不能准确说明它有什么不同。如果有的话。我觉得两者都很不错。