Spring正在将@queryparam Boolean的字符串值转换为false

Spring正在将@queryparam Boolean的字符串值转换为false,spring,spring-boot,spring-mvc,annotations,Spring,Spring Boot,Spring Mvc,Annotations,我在requestmapping中将此作为queryparam: @QueryParam(“isBenchmark”)布尔isBenchmark 现在,如果我也传递任何字符串值,它将默认为false。如果不是真/假,我如何避免这种情况并抛出错误。 是否有任何注释可用于抛出此类验证?这是一个已知问题 使用新布尔值(isBenchmark)将其转换为布尔值,因此当isBenchmark为true时,它将转换为true,在所有其他情况下,它将转换为false 不幸的是,你必须自己处理 public

我在requestmapping中将此作为queryparam: @QueryParam(“isBenchmark”)布尔isBenchmark

现在,如果我也传递任何字符串值,它将默认为false。如果不是真/假,我如何避免这种情况并抛出错误。 是否有任何注释可用于抛出此类验证?这是一个已知问题

使用
新布尔值(isBenchmark)
将其转换为布尔值,因此当
isBenchmark
为true时,它将转换为true,在所有其他情况下,它将转换为false

不幸的是,你必须自己处理

 public void YourMethod(@QueryParam("isBenchmark") String isBenchmark) {
 boolean val
 if (isBenchmark != null && isBenchmark.equals("true")){
   val = true;
 } else if (isBenchmark != null && isBenchmark.equals("false")) {
   val = false;
 } else {
   Throw Exception or return a bad request
  }
}