我偶然发现了一个相当奇怪的问题。搜索没有给出任何答案,所以我想在这里问它......
我正在创建一个与 web 服务(rest)通信的程序。在客户端,我有这个删除样本的方法:
public void remove(int id) throws UniformInterfaceException {
webResource.path(java.text.MessageFormat.format("{0}", new Object[]{id})).delete();
}
在服务器端:
@DELETE
@Path("{id}")
public void remove(@PathParam("id") Integer id) {
System.out.println("delete sample id = " + id);
super.remove(super.find(id));
}
现在,这似乎适用于所有 ID < 1000(id 显示在输出中)。一旦超过 1000,似乎有 1000 个分隔符出于某种原因在工作?这会导致客户端出现以下错误:
com.sun.jersey.api.client.UniformInterfaceException: DELETE http://localhost:8080/myname/webresources/entities.samples/1,261 returned a response status of 404 Not Found
为什么它在 URI 中使用 1,261 而不是 1261?还是我在某个地方犯了愚蠢的错误?
提前致谢。