函数deleteGroup()
删除一个组,此方法的参数之一为groupDN
。在前端,我使用jquery来指定HTTP删除请求。我之前通过附加URL来发送groupDN
。我现在想尝试发送嵌入HttpServletRequest
的此参数。前端和后端的代码如下。有人可以指导我在请求中发送/接收其他参数的正确方法吗?
前端
function removeGroup(groupDN) {
var deleteGroupDetails=new Object();
deleteGroupDetails.groupDN=groupDN;
jQuery.ajax({
type : 'DELETE',
url : 'api/groupService/deleteGroup,
dataType : 'json',
data : JSON.stringify(deleteGroupDetails),
contentType : 'application/json',
async: false,
success : function(response) {
utilDisplayMessage(response,"SUCCESS");
window.location.reload();
},
error : function(obj, error, errormsg) {
utilDisplayMessage(obj.responseText,"ERROR");
}
});
}
deleteGroupDetails
包含groupDN
参数,我认为我可以将其与请求一起传递。
Java的后端
@DELETE
@Path("deleteGroup")
@Produces({MediaType.APPLICATION_JSON})
public String deleteGroup(@Context HttpServletRequest request) throws Exception {
String groupDN = request.getParameter("groupDN");
}
答案 0 :(得分:0)
不要将请求正文与HTTP DELETE
请求一起使用。您尝试做的不是REST而是通过HTTP进行RPC(远程过程调用)。不要这样做。
HTTP DELETE
谓词告诉服务器删除URI标识的资源。所以,如果你这样做
DELETE /path/to/resources/123
此URI标识的资源将被删除。
如果要使用一个 DELETE
请求删除服务器上的多个实体,请将您的资源URI设计为实体的集合。例如:
DELETE /path/to/resources/?groupDN=foo
可能意味着:删除所有与过滤器groupDN=foo
匹配的实体。