更具体地说,现在我在十进制数字(逗号与点)上的分隔符有问题:如果错误的分隔符出现在 url 参数中,则 web 服务返回 404。但我想找到一个合适的解决方案也将处理 JSON 读/写。
注意:我已经尝试了其他问题 的答案,但它引用了我的 Jersey jar 中没有的类(If、QuantityXmlAdapter 和 NumberPersonalizedXmlAdapter),我在 Google 上找不到关于它们的线索。
更具体地说,现在我在十进制数字(逗号与点)上的分隔符有问题:如果错误的分隔符出现在 url 参数中,则 web 服务返回 404。但我想找到一个合适的解决方案也将处理 JSON 读/写。
注意:我已经尝试了其他问题 的答案,但它引用了我的 Jersey jar 中没有的类(If、QuantityXmlAdapter 和 NumberPersonalizedXmlAdapter),我在 Google 上找不到关于它们的线索。
我读了你的问题。
@GET
@Path('/resource/{decimal}')
public Response getResoureWithDecimal(@PathParam("decimal") double decimal)
GET /resource/1,2
显然,1,2
它不是 Javadouble
和 JAX-RS 没有办法将其转换为一个。
使用 aString
作为参数类型并使用您自己的转换器进行转换。
@GET
@Path('/resource/{decimal}')
public Response getResoureWithDecimal(@PathParam("decimal") String decimal) {
double decimalAsDouble = convertStringWithCommaToDouble(decimal);
// ...
}
实施convertStringWithCommaToDouble(String)
取决于您。