gpt4 book ai didi

java - 为什么我无法指定 @DefaultValue 的类型?

转载 作者:行者123 更新时间:2023-12-01 13:06:21 25 4
gpt4 key购买 nike

当我为我的服务指定 @DefaultValue 时,在没有提供参数的情况下调用它时,为什么它只能是字符串,而不能是任何其他类型?下面的 @DefaultValue(0) 会抛出错误“无法从 int 转换为 String” - 如果我希望默认值是另一种类型怎么办?

@POST
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Path("/createAccount")
public BankActivity createAccount(
@QueryParam("ownerId") @DefaultValue(0) int ownerID,
@QueryParam("accountPin") @DefaultValue("1234") String pin,

最佳答案

@DefaultValue表示表单参数、查询参数、cookie 和其他一些参数的默认值,如 javadoc 中所述。这些不同的参数和值作为请求的一部分发送。 http 服务器将它们作为字符串接收,并且您的 jax-rs 容器会解析它们并进行适当的转换。 @DefaultValue 以字符串形式提供值,让容器将其转换为提供的值。

因此,只需提供 int 值的字符串表示形式,容器就会进行正确的转换

关于java - 为什么我无法指定 @DefaultValue 的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23233052/

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