3

我正在尝试发送使用Ext.Ajax.request方法来删除服务器上的一些数据。我的请求方法如下所示:

Ext.Ajax.request({
      url: '/myserver/restful/service/delete',
      method: 'DELETE',
      headers: {
        'Content-Type': 'application/json'
      },
      params: {
        userId: 12345
      }
});

在我的球衣服务器上,我写了如下所示:

@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

所以我的期望值userId12345,但它给了我userId=12345。由于我是球衣的新手,所以我现在无法决定要做什么。

谁能告诉我出了什么问题?

4

2 回答 2

5

不确定泽西岛出了什么问题,但是...如果您尝试将 DELETE 与请求正文一起使用,那么无论如何您都走错了路。不。DELETE 的唯一相关参数应该是它被应用到的请求 URI。

于 2012-12-19T13:52:08.847 回答
2

@Julian 是正确的,您真的不应该使用带有 HTTP DELETE 动词的参数。

尝试这个:

@Path("/delete/{userId} 

然后在你的方法里面:

@PathParam("userId") String userId

然后当您调用您的服务时,将您的 url 更改为 : delete/(userId)(不带括号)并删除参数。

于 2012-12-19T14:00:07.673 回答