服务器资源从客户端正确接收对下面提到的remove()的“删除”操作的调用。
@DELETE @Path("{id}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public void remove(@PathParam("id") int id) {
dao.remove(id);
}
这里我也从路径中正确获取'id'参数,从数据库中删除包含'id'的记录。
我的问题是,如果我想从同一个'路径'获取另一个参数,比如说“密码”,要在删除记录之前验证输入的密码,有没有办法做到这一点?
请告诉我你的建议。
答案 0 :(得分: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) {
// ...
}
然而,另一个问题是,这是否是授权删除请求的正确方法。
答案 1 :(得分: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。 但是通过网址传输密码并不是很节省。