当前位置: 首页 > 知识库问答 >
问题:

无法验证view.model.product.ProductSearchCriteria。没有豆子自省。请将@Introspected添加到类中

夏景同
2023-03-14

定义验证器不发出bean内省。请将@Introspected添加到类中,并确保启用了Micronaut注释处理。Micronaut 2.2.1不工作

@Retention(RetentionPolicy.RUNTIME)
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Constraint(validatedBy = { })
public @interface LastProductIdRequired {
    String message() default "Product id is required for pagination if current page is greater then 0";
}

@Factory
public class LastProductIdRequiredFactory {
    @Singleton
    ConstraintValidator<LastProductIdRequired, PaginationViewModel> lastProductIdRequired() {
        return (value, annotationMetadata, context) ->
                value != null && (value.getCurrentPage() > 0 && value.getLastProductId() != null);
    }
}

波乔

@Introspected
public class PaginationViewModel {
    int pageSize = 10;
    int total = 0;
    int currentPage = 0;
    int totalPage = 0;
    @LastProductIdRequired
    String lastProductId;
    ....
}


@Introspected
public class ProductSearchCriteria extends PaginationViewModel{

}

控制器

@Controller("/product")
@Validated
public class ProductController {
@Get(value = "/{?searchCriteria*}")
public Maybe<FindProductViewModel> find(@Valid ProductSearchCriteria searchCriteria) {
        LOG.info("Controller --> Finding all the products");
        return iProductManager.find(searchCriteria);
    }
}

错误

{
    "message": "searchCriteria: Cannot validate view.model.product.ProductSearchCriteria. No bean introspection present. Please add @Introspected to the class and ensure Micronaut annotation processing is enabled",
    "_links": {
        "self": {
            "href": "/api/v1/product",
            "templated": false
        }
    }
}

共有1个答案

唐俊楚
2023-03-14

您可以运行此类方法,并提供ProductSearchCriteria作为参数

<代码>私有集

 类似资料:
  • 本文向大家介绍将HTML5验证添加到Visual Studio,包括了将HTML5验证添加到Visual Studio的使用技巧和注意事项,需要的朋友参考一下 对于HTML5验证,您需要在Visual Studio中安装IntelliSense和验证支持。Visual Studio 2012支持HTML5。 VS 2010具有IntelliSense支持,但是VS 2012添加了相应的代码片段,从

  • 问题内容: 我有一个带有输入字段和通过添加属性等进行验证设置的表单。但是对于某些领域,我需要做一些额外的验证。我将如何“利用” 控制的验证? 自定义验证可能类似于“如果填写了这3个字段,则此字段是必需的,并且需要以特定方式进行格式化”。 有一个方法,但是看起来不像公共API,所以我宁愿不使用它。创建自定义指令并使用它看起来像另一个选项,但是基本上需要我为每个自定义验证规则创建一个指令,而这是我所不

  • 我在向NetBeans添加新的JDK9平台时遇到了问题。以下是我遵循的步骤: 我从以下位置下载了Java9:http://jdk.Java.net/9/并运行了安装。 在Netbeans中,我转到了工具,然后是Java平台 单击添加平台 选定的Java标准版 当要求选择平台文件夹时,选择“C:\Program Files\Java\JDK-9” 作为平台源,我选择了“C:\Program File

  • 我一直看到下面的错误在我的IntelliJ想法,但是代码在执行期间工作正常。 样本代码 我怎么摆脱这个?我正在使用IntelliJ理念终极2018.2

  • 我希望能够将我的WooCommerce产品发布到我的“帖子”类别中。基于下面的鳕鱼,这是可能的。这是我在functions.php.中使用的代码。当我用吴宇森制作新产品时,这些类别是可以点击的。然而,它并没有发布到类别本身。感谢对此事的任何见解。 将类别选择添加到自定义帖子类型