我的bean验证有问题。我将Quarkus与MongoDB一起使用,当我试图运行create REST API,在请求bean之前使用@valid
注释时,如果我想创建一个带有null
字段的文档(显然我在entity中使用了@notnull
),但创建的文档没有字段,我希望出现异常。下面是我的代码:
car.java:
@MongoEntity(collection="cars")
public class Car extends PanacheMongoEntityBase {
@BsonId
private long id;
@NotNull
private String carName;
@NotNull
@Size(min = 1, max = 3)
private String code;
// get and set
}
carResource.java:
@Path("/cars")
@Consumes("application/json")
@Produces("application/json")
public class CarResource {
@GET
public List<Car> list() {
return Car.listAll();
}
@GET
@Path("/{id}")
public Car get(long id) {
return Car.findById(id);
}
@POST
public Response create(@Valid Car car) {
car.persist();
return Response.status(201).build();
}
我对@size
注释也有同样问题,因为我可以创建一个包含多于3个字符的code
字段。
更新
您需要在CarResource
类上使用@validated
注释,如下所示。
@Path("/cars")
@Consumes("application/json")
@Produces("application/json")
@Validated
public class CarResource {
@GET
public List<Car> list() {
return Car.listAll();
}
@GET
@Path("/{id}")
public Car get(long id) {
return Car.findById(id);
}
@POST
public Response create(@Valid Car car) {
car.persist();
return Response.status(201).build();
}
}
我有一个使用JSF Spring5Jersey2.29.1(spring-jersey5)运行在Payara 5.1.3上的web应用程序。 DI部分由Spring处理,它使用@inject。 我的问题是,由于我已经从jerseyendpoint上的jersey2.25 Spring-Jersey4和Payara 4.1.9.2迁移过来,我不能为spring beans使用@inject,我必须使
我发送了一个带有“postman”的“application/json”类型的POST请求,将param“phone”设置为空字符串,正常情况下应该为注释“@notempty”打印错误,但是,它没有打印任何内容,也没有很好地工作。 SpringMVCConfig:
问题内容: 我正在尝试使用scikit-learn / pandas构建情感分析器。建立和评估模型是可行的,但尝试对新的示例文本进行分类则无法。 我的代码: 错误: 我不确定是什么问题。在我的分类方法中,我创建了一个全新的矢量化器来处理要分类的文本,与用于从模型创建训练和测试数据的矢量化器分开。 谢谢 问题答案: 您已经安装了矢量化器,但由于它在函数的生命周期内不存在,因此将其丢弃。相反,将模型转
从Quarkus1.11.3升级后。最终到2.2.3。最终,我的单位测试失败,原因是:java.lang.非法状态异常:io.quarkus.test.junit.mockito.注入Mock的无效使用——注入的bean没有声明CDI正常范围,而是:javax.inject.Singleton。违规字段是测试类ch.zhaw.ba.services.order.MyTest的云EventPubli
我有一个红色像素图像,我想在红色像素处显示另一个图像,所以我编写了以下代码: 我的代码太大了,所以我在这里写了什么是重要的。不管怎样,当我运行它时,我得到这个错误: 回溯(最近一次调用):文件“C:\Users\AndréLuiz\Desktop\equality\equality.py”,第171行,在screen.blit(w_plat,w_pos)类型错误:blit的目标位置无效 检查后,打
我有一个用Java验证注释注释的模型对象。 根据业务需求,将填充文件名或小时字段,以验证我编写的自定义验证器“CriteriaValidator”。 上面的模型作为方法的输入参数传入,该方法也用@Valid和@ValidCriteria注释。 我的问题是方法中的2个注释。我必须添加@Valid才能检查类中注释的约束。我的自定义验证器仅检查两个字段之一的存在:文件名或小时。 我的问题是,如何使用单个