RequestMethod.DELETE不起作用

时间:2014-05-05 21:43:54

标签: java json spring spring-mvc

我正在尝试使用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。描述:客户端发送的请求在语法上是不正确的。请帮忙检查一下是什么问题。所有其他请求都可以正常使用类似的设置。

1 个答案:

答案 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){
..
} 
相关问题