繁体   English   中英

Spring Boot POST PDF内容类型'application / pdf不支持

[英]Spring boot POST PDF Content type 'application/pdf not supported

我试图在后端发送两个PDF并与之一起工作。 为此,我必须实现REST服务,但无法接收它们。

PostMapping

@PostMapping("/post")
    CompareJob compareJob(@RequestBody File file1) {
        System.out.print("Received File: " + file1);
        CompareJob compareJob = new CompareJob();
        return compareJob;
    }

要执行POST请求,我使用Postman进行以下设置:

标头->内容类型:应用程序/ pdf

正文->二进制文件:testPDF.pdf

这是我得到的答复:

{
    "timestamp": "2019-03-12T13:55:12.898+0000",
    "status": 415,
    "error": "Unsupported Media Type",
    "message": "Content type 'application/pdf;charset=UTF-8' not supported",
    "path": "/post"
}

我是REST服务的新手,不胜感激一些提示是怎么回事。

谢谢你的帮助!

在amin10043建议后编辑:

@PostMapping("/post")
    CompareJob compareJob(@RequestParam("file1") MultipartFile file1) {
        System.out.print("Received File: " + file1);
        CompareJob compareJob = new CompareJob();
        return compareJob;
    }

阅读后,我不应该在邮递员中检查Content-Type,我得到以下响应:

{
    "timestamp": "2019-03-12T14:37:52.765+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "Current request is not a multipart request",
    "path": "/post"
}

我的错是我将pdf作为二进制文件而不是邮递员中的表格数据上传。 必须这样设置: https : //snag.gy/H4w5S8.jpg

如果要上传文件,最好使用Multipartfile ,也请将输入参数从@RequesBody@RequestParam("your parameter name") ,这样邮递员就可以向请求中添加正确的标头并且应该可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM