spring - 用于 @Valid 的 Spring Rest Controller 的 InitBinder

标签 spring validation rest

基于@RestController 的Spring 使用Validator 接口(interface)的方法是创建一个验证器自定义类,实现Validator 接口(interface)。在 Controller 类中调用 InitBinder 来注册验证器类。然后当 REST 请求到来时,调用该类的验证器。这对我来说仍然有问题。假设我有一个 PersonValidator 类,它为 POST 执行一种类型的验证,为 PUT 执行另一种类型的验证。由于这两个处理程序都存在于同一个 REST Controller 类中,我该如何运行不同的验证? 说在同一个休息 Controller 类中,我想对 POST 使用 PostPersonValidator,对 PUT 使用 PutPersonValidator。我不知道该怎么做。

最佳答案

关注这篇文章:http://howtodoinjava.com/2015/02/12/spring-mvc-custom-validator-example/

您基本上必须创建两个单独的验证器——正如您所说的(一个用于 POST,一个用于 PUT)。然后只需在适当的 POST/PUT 处理方法中调用它们。如果您遵循链接示例,应该会非常简单。

关于spring - 用于 @Valid 的 Spring Rest Controller 的 InitBinder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723171/

相关文章:

java - 如何避免将空值发送到java中的sql中

java - 如何在没有数据库的情况下在Spring Boot中创建对象集合?

c# - asp.net 中的 Javascript 验证错误

javascript - 每个输入的 Angular 表单验证类

spring - 如何定义模型以在没有根元素名称的情况下解码发布数据

javascript - 使用loopback.io创建一个新项目

android - 通过 REST API 提供多种图像分辨率

java - 如何验证自定义注释属性?

java - 为什么我的 OAuth2 无法与 Spring Boot 一起使用?

javascript - 在没有 DOM 操作或 jQuery 的情况下,如何在 AngularJS 中制定指令来验证电子邮件或密码确认?