问题描述
因此,我有一个JAX-RS资源,该资源使用@Valid批注来验证请求主体映射到的实体类,如文档所指定的那样
@Path("/test")
public class Test {
@POST
@Consumes("application/json")
@Produces("application/json")
public Response processPostRequest(@Valid TestRequest testRequest) {
...
return Response.accepted(testRequest.getOutputs()).build();
}
}
实体类定义如下
public class testRequest {
private String id;
@NotEmpty
private Map<String,Integer> outputs;
....getters,setters...
}
但是我是否发送不带输出字段的json
{
"id": "abc00def"
}
或带有但空的
{
"id": "abc00def"
"outputs": {}
}
验证不会发生,不会引发异常,并且会根据return语句发送202响应。 使用的应用程序服务器是WildFly20,并且bean验证处于活动状态。
中有相关说明。WildFly应用程序服务器开箱即可包含Hibernate Validator。为了将Jakarta Bean验证API和Hibernate Validator的服务器模块更新到最新和最大的版本,可以使用WildFly的补丁机制。
补丁可用于WildFly 19及更早版本。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)