Spring And ExtJS "400 Bad Request" With PUT But Not With POST
Solution 1:
I suppose you can't pass parameters to spring using request method PUT as there is a restriction in the servlet API. You can only work with PUT methods implementing a restful service, passing data as the request body, in other cases (like Spring MVC Databinding) PUT won't work. see SpringMVC is not recognizing request body parameters if using PUT
Solution 2:
This, as suggest above, seems to be a bug in spring/servlet API
. In reality PUT
requests are supposed to work on Request Body (or payload)
and not on Request Parameters. In that sense, servlet API & spring's handling is correct.
Having said that, a better and much easier workaround is to pass no data element from your javascript/jQuery
call and pass your parameters as part of the url itself. meaning, set parameters in the url field the way you would do in a GET
call.
$.ajax({
url: "yoururl" + "?param1=param2Val&..",
type: "PUT",
data: "",
success: function(response) {
// ....
}
});
now this works for simple parameters, i guess, will not work for complex JSON types. Hope this helps.
Post a Comment for "Spring And ExtJS "400 Bad Request" With PUT But Not With POST"