Spring 正在将 @queryparam 布尔值的字符串值转换为 false
Spring is converting String values to false for @queryparam Boolean
我在请求映射中将其作为查询参数:
@QueryParam("isBenchmark") boolean isBenchmark
现在,如果我传递任何字符串值,它也默认为 false。如果它不是 true/false,我该如何避免这种情况并抛出错误。
有没有我可以抛出这样的验证的注释
这是一个已知问题。
它使用 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
}
}
我在请求映射中将其作为查询参数: @QueryParam("isBenchmark") boolean isBenchmark
现在,如果我传递任何字符串值,它也默认为 false。如果它不是 true/false,我该如何避免这种情况并抛出错误。 有没有我可以抛出这样的验证的注释
这是一个已知问题。
它使用 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
}
}