首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“有效工作而没有”验证在@RestController上吗?

“有效工作而没有”验证在@RestController上吗?
EN

Stack Overflow用户
提问于 2021-02-05 02:23:24
回答 1查看 816关注 0票数 2

在下面的博客文章。

https://www.baeldung.com/spring-boot-bean-validation

作者提到了Spring如何使用@Valid注释。

代码语言:javascript
复制
@RestController
public class UserController {

    @PostMapping("/users")
    ResponseEntity<String> addUser(@Valid @RequestBody User user) {
        // persisting the user
        return ResponseEntity.ok("User is valid");
    }
    
    // standard constructors / other methods
    
}

当Spring找到一个带有@Valid注解的参数时,它会自动引导默认的JSR 380实现-- Hibernate Validator --并验证该参数。

在没有@Valid的情况下,@RestController确实可以正常工作吗?

那么需要使用@Validated显式注释的立体声类型是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 02:43:12

是的,@Valid不用@Validated就能在@RestController上工作。

在Spring中,我们使用JSR-303的@Valid注释进行方法级验证。此外,我们还使用它来标记成员属性以进行验证。但是,该注释不支持组验证。组有助于限制在验证期间应用的约束。一个特殊的用例是UI向导。在这里,在第一步,我们可能有一个特定的子组的字段。在接下来的步骤中,可能有另一个属于同一个bean的组。因此,我们需要在每个步骤中对这些有限的字段应用约束,但是@Valid不支持这一点。在本例中,对于组级,我们必须使用Spring的@Valid,这是JSR-303的@Valid的一个变体。这是在方法级别使用的。对于标记成员属性,我们继续使用@Valid注释。

您可以在这个链接中读到更多关于这一点的内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66056719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档