gpt4 book ai didi

rest - 将是/否映射到 ReST API 查询参数中的 bool 值

转载 作者:行者123 更新时间:2023-12-05 01:01:47 24 4
gpt4 key购买 nike

我正在尝试映射 yes/no , true/false , Y/N到 JAX-RS url 查询参数中的 bool 值,但它仅映射 true/false成功,所有其他值始终映射为 false。

我明白在映射 url 查询参数时,jAX-RS 尝试找到给定的数据类型构造函数,该构造函数接受字符串参数,并根据构造函数的作用将查询参数转换为声明的数据类型的对象。 bool 类确实需要 true/TRUE为真并将所有其他值视为假。

有没有办法映射yes/no , y/ntrue/false ?

最佳答案

你可以用尊重 the QueryParam javadoc 的东西包装一个 bool 值.在下面的例子中,我正在实现数字 3:

@Path("/booleanTest")
public class TestClass {

@GET
public String test(@QueryParam("value") FancyBoolean fancyBoolean) {
String result = "Result is " + fancyBoolean.getValue();
return result;
}

public static class FancyBoolean {
private static final FancyBoolean FALSE = new FancyBoolean(false);
private static final FancyBoolean TRUE = new FancyBoolean(true);
private boolean value;

private FancyBoolean(boolean value) {
this.value = value;
}

public boolean getValue() {
return this.value;
}

public static FancyBoolean valueOf(String value) {
switch (value.toLowerCase()) {
case "true":
case "yes":
case "y": {
return FancyBoolean.TRUE;
}
default: {
return FancyBoolean.FALSE;
}
}
}
}
}

访问 /booleanTest?value=yes , /booleanTest?value=y/booleanTest?value=true将返回 Result is true , 任何其他值都将返回 Result is false .

关于rest - 将是/否映射到 ReST API 查询参数中的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27617003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com