2017-01-22 376 views
0

我想通过iddept场在DELETE HTTP请求,并获取内部deleteData()但我在deleteData()接收空的iddept在HTTP传递多个参数DELETE请求

$http['delete']('webapi/Data/delete?' + cdata.id + "&&" + cdata.lineUp) 

@DELETE() 
@Path("/delete") 
public String deleteData(@QueryParam("id") String id, @QueryParam("dept") String dept){ 
+0

我认为你需要解决该问题更多的上下文。 – Aaron

回答

0

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 ,你应该不需要任何传递给除id之外的HTTP Delete方法。

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); 
    });