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

回到顶部