错误:服务器拒绝了此请求,因为请求实体的格式不受请求的方法所请求的资源支持

时间:2018-11-27 04:46:49

标签: java spring rest

我正在使用Spring创建一个简单的API。并且我在上传和映射文件时遇到此错误。

服务器拒绝了此请求,因为请求实体的格式不受请求资源的请求方法支持。

这是我的控制器->

@RequestMapping(value = "/Hi", method = RequestMethod.POST, produces = { "application/json" })
@ResponseBody
public BasicResponse UploadData(@RequestBody CropImageData cropImageData, HttpServletRequest request) {
    BasicResponse basicResponse = new BasicResponse();

    System.out.println(cropImageData.getCropId());

    return basicResponse;
}

我的cropImageData模型类->

public class CropImageData {
    @JsonProperty("cropImages")
    private MultipartFile[] cropImages;

    @JsonProperty("cropId")
    private String cropId;

    public MultipartFile[] getCropImages() {
        return cropImages;
    }

    public void setCropImages(MultipartFile[] cropImages) {
        this.cropImages = cropImages;
    }

    public String getCropId() {
        return cropId;
    }

    public void setCropId(String cropId) {
        this.cropId = cropId;
    }   
}

这就是我通过POSTMAN发送请求的方式。

POSTMAN REQUEST

1 个答案:

答案 0 :(得分:0)

使用Postman,您正在发送HTTP发布表单数据,但是未将端点配置为接收这种格式(缺少consumes = { "multipart/form-data" }注释)。

而不是模型类,您应该将方法的签名更改为类似的内容:

public BasicResponse UploadData(@RequestPart("cropId") String cropId, @RequestPart("cropImages")  MultipartFile file)