【问题标题】:Spring is converting String values to false for @queryparam BooleanSpring 正在将 @queryparam Boolean 的 String 值转换为 false
【发布时间】:2021-03-22 07:46:50
【问题描述】:

我在请求映射中将此作为查询参数: @QueryParam("isBenchmark") boolean isBenchmark

现在,如果传递任何字符串值,它也将其默认为 false。如果它不是真/假,我该如何避免这种情况并抛出错误。 是否有任何注释可以用来进行此类验证

【问题讨论】:

    标签: spring spring-boot spring-mvc annotations


    【解决方案1】:

    这是一个已知问题。

    使用new Boolean(isBenchmark) 将其转换为布尔值,因此当isBenchmark 为真时,它转换为真,在所有其他情况下,它都转换为假。

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

     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
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 2019-06-11
      • 2021-10-08
      • 2019-04-05
      • 1970-01-01
      • 2017-05-20
      相关资源
      最近更新 更多