Ric*_*ard 3 java rest spring hibernate
我有一个像这样的对象:
public class Foo {
public interface FooValidator{};
@Null(groups = {FooValidator.class}, message = "Id is null!!!")
private Integer id;
@NotEmpty(message = "Description is empty")
private String description;
}
Run Code Online (Sandbox Code Playgroud)
像这样的控制器:
public class FooController {
@PutMapping(value = "/{actionItemId}")
public ResponseEntity bar1(@Validated({Foo.FooValidator.class}) @RequestBody Foo foo) {
//stuff
}
@PostMapping
public ResponseEntity bar2(@Validated @RequestBody Foo foo) {
//stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是bar1方法,它只验证id字段,而不验证描述字段。但是该bar2方法运行良好,它可以验证描述字段而不是id字段。
如何获取spring的@Validated注释以验证具有适当接口注释和所有其他普通字段(没有注释的字段)的字段。
换句话说,我如何获得bar1同时验证id和description字段的方法?
@Validated注释应在课程级别使用。用来说在类内部进行了一些验证。这意味着它可以与其他验证批注一起使用,这些批注将应用于属性,参数等。我从文档中发布了一个示例:
@Service
@Validated
public class MyBean {
public Archive findByCodeAndAuthor(@Size(min = 8, max = 10) String code,
Author author) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果要验证自定义类,如在示例中对我看来,则应改用@Valid 注释,该注释将验证应用于类的属性。
| 归档时间: |
|
| 查看次数: |
2086 次 |
| 最近记录: |