我正在尝试使用Ext.Ajax.request方法发送,以删除服务器上的一些数据。我的请求方法如下:
Ext.Ajax.request({
url: '/myserver/restful/service/delete',
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
},
params: {
userId: 12345
}
});在我的jersey服务器上,我编写了如下代码:
@Path("/delete")
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response deleteUser(final String userId) {
System.out.println("user id = " + userId);
return Response.ok().entity("success").build();
}此方法以以下格式打印用户id:
user id = userId=12345
所以我对userId的期望值是12345,但它给了我userId=12345。因为我是新手,所以我不能决定现在该做什么。
有谁能告诉我出了什么问题吗?
发布于 2012-12-19 21:52:09
不知道泽西出了什么问题,但是...如果你试图在请求正文中使用DELETE,那么无论如何你都走错了路。DELETE的唯一相关参数应该是应用它的请求URI。
发布于 2012-12-19 22:00:08
@Julian是正确的,你真的不应该有带HTTP DELETE动词的params。
试试这个:
@Path("/delete/{userId} 然后在你的方法内部:
@PathParam("userId") String userId然后,当你调用你的服务时,把你的url改成:delete/(userId) (去掉括号)并去掉参数。
https://stackoverflow.com/questions/13953181
复制相似问题