如何在内部方法的返回类型上使用@Valid注释



我有一个REST API,在其中转换传递的请求。现在我想验证使用@Valid注释转换的实体。

public RequestResponse create(EntityV1 entityV1){
Entity entity = transform(entityV1)
}
private Entity transform(EntityV1 entityV1){
Entity entity = new Entity();
//Transformation logic
return entity;
}

请给我一个方法,通过它可以使用我的自定义注释验证转换的返回类型。

约束:我无法将我的rest api的输入从EntityV1更改为Entity

您需要以编程方式验证bean,如下所示:

@Autowired
Validator validator;
public RequestResponse create(EntityV1 entityV1, BindingResult bindingResult){
Entity entity = transform(entityV1);
validator.validate(entity, bindingResult);
if (bindingResult.hasErrors()) {
// validation errors
} else {
// no errors
}
}

最新更新