0

更具体地说,现在我在十进制数字(逗号与点)上的分隔符有问题:如果错误的分隔符出现在 url 参数中,则 web 服务返回 404。但我想找到一个合适的解决方案也将处理 JSON 读/写。

注意:我已经尝试了其他问题 的答案,但它引用了我的 Jersey jar 中没有的类(If、QuantityXmlAdapter 和 NumberPersonalizedXmlAdapter),我在 Google 上找不到关于它们的线索。

4

1 回答 1

1

我读了你的问题。

你的方法

@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)取决于您。

于 2013-10-19T19:35:52.950 回答