我有一个DTO类,其中的字段具有javax或自定义约束,因此,每当我到达此端点时,我都保证可以接收满足我要求的数据。
@PostMapping
public ResponseEntity<SomeResource> create(@Valid @RequestBody SomeDTO someDTO)
由于我不想进入的原因,我被迫在其他地方(最好是在单独的服务方法中)验证传入的数据,所以我尝试这样做:
@PostMapping
public ResponseEntity<SomeResource> create(@RequestBody SomeDTO someDTO) {
someService.validate(someDTO);
}
其中被调用方法的签名定义为
validate(@Valid SomeDTO someDTO)
尽管我很快就发现除了用户输入之外,这实际上并没有执行任何其他参数验证。由于Spring注释不是特别有用,是否有其他注释可以验证作为参数传入的对象,以确保不违反约束?