1

为什么这不起作用?我正在对我的 Spring 3.2 MVC 应用程序进行尝试。它适用于 POST 请求。

curl -X PUT http://localhost:8080/bananas/1 --form data='{"description":"Hei", "status":"REJECTED"};type=application/json'

java.lang.IllegalArgumentException:获取请求部分失败:数据。零件丢失或未配置多零件处理。

@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
    public ResponseEntity updateQuestion(@PathVariable final int id,
                                         @RequestPart(value = "data") final Banana banana,
                                         @RequestPart(value = "image", required = false) final MultipartFile imageFile) {
4

2 回答 2

-1

实际上,PUT 请求应该在请求正文(或有效负载)上工作,而不是在请求参数上工作。从这个意义上说,servlet API & spring 的处理是正确的。

一种更好的更简单的方法,可以从您的 jquery 和 javascript 调用中传递任何数据元素。将您的参数作为 url 的一部分传递。Means 在 url 字段中设置参数。否则,您必须使用 GET 执行您的代码。

于 2013-08-09T10:54:35.763 回答
-1
var x=10;
$.ajax({
            url: "/ritesh/" + x + "/patil" + "?param1=param2Val&..",
            type: "PUT",
            data: "",
            success: function(response) {
                // ....
            }
     });
于 2013-08-09T11:00:00.757 回答