【问题标题】:How to use @Valid annotation on return type of a internal method如何在内部方法的返回类型上使用 @Valid 注释
【发布时间】:2022-01-14 22:27:28
【问题描述】:

我有一个 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

【问题讨论】:

    标签: java annotations


    【解决方案1】:

    您需要以编程方式验证 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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 2017-09-21
      • 1970-01-01
      • 2014-01-26
      • 2021-06-06
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多