gpt4 book ai didi

java - 可为空的双 PathParam 错误

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:57 31 4
gpt4 key购买 nike

我有一个 REST 服务:

@POST
@Path("/shop/{prodID}/{price}")
public Response updatePrice(@PathParam("prodID") Long prodID, @PathParam("price") Double price) {
priceDAO.updatePrice(prodID, price);
return Response.ok().build();
}

如果我发送 UI 号码,它们工作得很好,但如果发送空参数(null),我就会出错:

sitesurl/shop/33/null 404 Not Found

Class java.lang.Double can not be instantiated using a constructor with a single String argument

在控制台上。

如果 null 作为字符串发送(“null”),我们会看到 NumberFormatException。

为什么我的服务无法解析可为空的 PathParam?

最佳答案

chrylis 如果您不提供任何路径参数,它将抛出 404 资源未找到,

我同意 Chrylis 表单参数是个好主意。Gene 那么您应该确保在发送请求路径参数时不为空并符合资源规范。对于长字符串或双字符串,不应发送。另一种摆脱的方法是将资源规范保留为 String,并手动转换为 Long 等。有办法很好地处理ParamExcption。创建一个实现 ExceptionMapper 的 Mapper 并抛出您的自定义响应

关于java - 可为空的双 PathParam 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21140111/

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