1

服务器资源从客户端正确接收到对以下提到的 remove() 的调用以进行“删除”操作。

@DELETE @Path("{id}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public void remove(@PathParam("id") int id) {
        dao.remove(id);
}

在这里,我也从路径中正确获取了“id”参数,以从数据库中删除包含“id”的记录。

我的问题是,假设我想从同一个“路径”获取另一个参数,比如“密码”,在删除记录之前验证输入的密码,有没有办法做到这一点?

请让我知道你的建议。

4

2 回答 2

0

试试这个:

@DELETE
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public void remove(@QueryParam(value = "id") int id, @QueryParam(value = "pw") String pw)     {
  .....
}

资源必须是带有问号的请求,例如 url/url?id=1&pw=PASSWORD。但是通过 url 传输密码并不是很省钱。

于 2013-03-13T11:43:42.243 回答
0

从技术上讲,可以在@Path注释的 URI 模板中包含多个参数,因此您可以:

@Path("{id}/{password}")
@DELETE @Path("{id}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public void remove(@PathParam("id") int id, @PathParam("password") String pwd) {
        // ...
}

然而,这是否是授权删除请求的正确方法是另一个问题。

于 2013-03-12T12:57:02.193 回答