我想在DELETE HTTP请求中传递id
和dept
字段,并在deleteData()
内获取,但我在deleteData()
中为id
收到空}和dept
。
$http['delete']('webapi/Data/delete?' + cdata.id + "&&" + cdata.lineUp)
@DELETE()
@Path("/delete")
public String deleteData(@QueryParam("id") String id, @QueryParam("dept") String dept){
答案 0 :(得分:2)
HTTP Delete
不接受数据作为参数。
胜利
否则,我会像这样传递一个对象:
var cdata = {
id: 2,
lineUp: [...]
};
// won't work
$http.delete('webapi/Data/delete, cdata)
.then(function(response) {
console.log(response);
})
.then(function(error) {
console.log(error);
});
如果您想要真正 RESTful ,除了HTTP Delete
之外,您不应该向id
方法传递任何内容。
<强>基于REST 强>
var cdata = {
id: 2,
lineUp: [...]
};
// RESTful
$http.delete('webapi/Data/delete/' + cdata.id)
.then(function(response) {
console.log(response);
})
.then(function(error) {
console.log(error);
});
但是,您可以使用HTTP Post
作为解决方法。
解决方法强>
var cdata = {
id: 2,
lineUp: [...]
};
// workaround
$http.post('webapi/Data/delete, cdata)
.then(function(response) {
console.log(response);
})
.then(function(error) {
console.log(error);
});