Spring MVC с помощью @RequestParam с RequestMethod.DELETE на Tomcat 6.0.35

У меня есть простой метод (работающий на Tomcat 6.0.35), который выглядит следующим образом:

@RequestMapping(value = "/bla/d", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void d(@RequestParam String d){
    //logic here
}

Когда я отправляю запрос DELETE с параметрами post like (d=gggg в теле), я получаю 400 Bad Request. Но если я поменяю его на

@RequestMapping(value = "/bla/d", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void d(@RequestParam String d){
    //logic here
}

, он будет работать отлично. Я использовал дополнение Firefox для его тестирования (и python и Spring RestTemplate с тем же результатом), вот как запрос выглядит с POST(a - это метод cope pasted с именем a с параметром a):

POST /bla/a HTTP/1.1
Host: ~~~~:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 7
Pragma: no-cache
Cache-Control: no-cache
a=asdas

HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Tue, 12 Jun 2012 09:29:46 GMT

И удаление выглядит так:

DELETE /bla/d HTTP/1.1
Host: ~~~~~:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 7
d=asdas

HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 971
Date: Tue, 12 Jun 2012 09:30:04 GMT
Connection: close

Пожалуйста, помогите мне, я могу пропустить что-то глупое, но я просто не вижу этого. Моей первоначальной проблемой была отправка массива через пост-подобное тело с запросом DELETE, но кажется, что что-то более базовое неправильно.

8
задан Brian Tompsett - 汤莱恩 22 August 2015 в 18:57
поделиться