我正在尝试使用FireFox RestClient发送DELETE请求
以下详细信息:
方法:删除
网址:
http://hostname:port/my-web/test/batch
标题:Content-Type:application / json
BODY :
{
"users": [
"string1",
"string2"
]
}
MY JAVA CONTROLLER
@RequestMapping(method = {RequestMethod.DELETE}, value = "/batch")
public MYHTTPEntity<RestResponse> bulkDelete(@RequestBody String[] users, WebRequest request){
..
}
我收到400 Bad Request。描述:客户端发送的请求在语法上是不正确的。请帮忙检查一下是什么问题。所有其他请求都可以正常使用类似的设置。
答案 0 :(得分:1)
假设MYHTTPEntity<RestResponse>
是您设置的有效控制器返回的内容,根据您发送的JSON,您需要执行以下操作:
添加一个将映射请求的类,例如DeleteContent
public class DeleteContent {
private List<String> users;
public List<String> getUsers() {
return users;
}
public void setUsers(List<String> users) {
this.users = users;
}
}
然后控制器将是:
@RequestMapping(method = {RequestMethod.DELETE}, value = "/batch")
public MYHTTPEntity<RestResponse> bulkDelete(@RequestBody DeleteContent deleteContent, WebRequest request){
..
}
如果MYHTTPEntity<RestResponse>
无效,您可以使用
@RequestMapping(method = {RequestMethod.DELETE}, value = "/batch")
public @ResponseBody YourCustomResponse bulkDelete(@RequestBody DeleteContent deleteContent, WebRequest request){
..
}