gpt4 book ai didi

Java - 用户将字符串输入 boolean 值时进行验证

转载 作者:行者123 更新时间:2023-12-02 02:55:40 30 4
gpt4 key购买 nike

当前正在使用网络服务并进行验证,希望当用户输入 boolean 值的 JSON block 时有更好的错误消息:

JSON:

{
"name": "GAWA",
"isFree": true
}

正如预期的那样,由于满足 boolean 值的标准,因此工作正常。但是,如果用户输入字符串,就会出现问题。

{
"name": "GAWA",
"isFree": "gwge"
}

当前错误消息:

"message": "Can not deserialize value of type java.lang.Boolean from String \"rwtrt\": only \"true\" or \"false\" recognized\n at [Source: java.io.PushbackInputStream@7e9abd26; line: 14, column: 2] (through reference chain: com.velatt.dartentitlements.dto.SiteDTOExternal[\"useAppEntitlements\"])"
},

我认为这是一个 if 语句,大致如下:

 if (isFree ...) {
throw new IllegalArgumentException("Cannot create a person without a valid boolean");
}

有什么帮助我可以提出什么条件吗?

编辑:我不想更改它,因此如果他们输入 true 它将被转换为 boolean 值,我只是想拒绝所有字符串以支持更好的错误消息。

最佳答案

您需要检查对象 isFree 是否是 String 类的实例。

试试这个:

if (isFree instanceof String) {
throw new IllegalArgumentException("Cannot create a person without a valid boolean");
}

关于Java - 用户将字符串输入 boolean 值时进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57076274/

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