繁体   English   中英

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

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

例如我有:

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

如何使用验证获得相同的结果?
这对我不起作用,但我会查找类似的东西,而无需手动检查方法体。 有没有办法这样做?

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

您需要使用 javax.validation.Valid 并向您的 Person pojo 添加约束: javax.validation.constraints.Email/NotBlank/NotNull;

public class Person {

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

在您的 controller 中:

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

看我的 github

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM