简体   繁体   English

如何验证由 Spring 数据填充的 controller 输入中的域 object?

[英]How validate domain object in controller input filled by Spring Data?

For example I have:例如我有:

@PostMapping("/person/{id}")
@ResponseBody
public boolean isAdmin(@PathVariable("id") Person person) {
  return person != null && person.isAdmin();
}

How I can get same result using Validation?如何使用验证获得相同的结果?
This not works for me, but I look up for something like this, without manual checking in method body.这对我不起作用,但我会查找类似的东西,而无需手动检查方法体。 Is there way for doing so?有没有办法这样做?

@PostMapping("/person/{id}")
@ResponseBody
public boolean isAdmin(@PathVariable("id") @NotNull Person person) {
  return person.isAdmin();
}

you need to use javax.validation.Valid and add constraints to your Person pojo: javax.validation.constraints.Email/NotBlank/NotNull;您需要使用 javax.validation.Valid 并向您的 Person pojo 添加约束: javax.validation.constraints.Email/NotBlank/NotNull;

public class Person {

    @NotNull
    private Long id;
    /* here getters and setters...*/
}

In your controller:在您的 controller 中:

@PostMapping("/person/{id}")
@ResponseBody
public boolean isAdmin(@Valid @RequestBody Person person) {
  return person.isAdmin();
}

see my github 看我的 github

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Spring-针对bean验证Controller内部的输入 - Spring - validate input inside Controller against a bean 如何在 Spring MVC 的域 object 上验证 object 的字段? - How can I validate a field of a object on my domain object in Spring MVC? 仅在Spring MVC中填写内容时如何验证? - How to validate only when content is filled in Spring MVC? Spring MVC-仅在输入被填充时实例化嵌套对象 - Spring MVC - Instantiate nested object only when input is filled Spring Data MongoDB:如何将域对象部分映射到MongoDB? - Spring Data MongoDB : how to partially map domain object to MongoDB? 如何在Spring REST控制器中验证请求参数 - How to validate request parameters in Spring REST controller 如何通过 <Select>和<input>数据从视图到控制器(Spring MVC) - How to Pass <Select> and <input> data from View to a Controller (Spring MVC) 如何在不将List包装在其他类中的情况下验证spring控制器参数中List中的每个对象? - How to validate each object in the List in spring controller parameter without wrapping the List in other class? SPRING Function 验证 object 不接受数据类型 - SPRING Function to validate object not accepting type of data 如何在 spring boot 控制器之外正确地@Autowire 数据访问对象? - how to properly @Autowire data access object outside of spring boot controller?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM