Java 其他方法调用带有@Validated参数的方法时,BindingResult怎么传?
问题描述
我有一个新增接口A,一个修改接口B,一个批量接口C,都在一个Controller中,根据C接口对象的id是否为空判断调用接口A还是接口B,我现在想要在调用接口A和接口B的时候能够进行参数校验,请问该怎么更改代码?
相关代码
@RestController@RequiredArgsConstructor
public class ClassA {
private final ServiceA serviceA;
@PostMapping
@ApiOperation("新增方法")
public Result<String> create(@ApiParam("新增相关数据") @RequestBody @Validated({AddGroup.class}) MyDTO myDTO, BindingResult bindingResult) {
Result<String> result = new Result<>();
serviceA.create(myDTO);
return result.success();
}
@PostMapping("/batch")
@ApiOperation("批量修改")
public Result<String> batch(@ApiParam("批量相关数据") @RequestBody @Validated ValidListBO<MyDTO> myDTOList, BindingResult bindingResult) {
Result<String> result = new Result<>();
for(MyDTO myDTO:myDTOList){
if(myDTO.getPkId()==null){
//如何调用新增方法且进行参数校验?
}else{
//如何调用更新方法且进行参数校验?
}
}
return result.success();
}
@PutMapping
@ApiOperation("更新方法")
public Result<String> update(@ApiParam("更新数据") @RequestBody @Validated({EditGroup.class}) MyDTO myDTO, BindingResult bindingResult) {
Result<String> result = new Result<>();
serviceA.update(myDTO);
return result.success();
}
}
你期待的结果是什么?
能够通过batch调用新增,更新方法且进行参数校验,通过BindingResult进行错误提示
回答:
转发请求,直接调用方法可不走springmvc那一套逻辑的
以上是 Java 其他方法调用带有@Validated参数的方法时,BindingResult怎么传? 的全部内容, 来源链接: utcz.com/p/944400.html