Java 弹簧不';t返回完整的JSON

Java 弹簧不';t返回完整的JSON,java,json,spring,spring-boot,rest,Java,Json,Spring,Spring Boot,Rest,我使用SpringBoot和@PostMapping试图返回一个包含1个多部分文件和一些字符串的POJO。当我看邮递员时,我只看到多部分对象的一半。文件大小为3kb。我没有发现任何错误。当我返回multipart变量null时,JSON中的其他变量将显示在响应中,因此它们不是空的。如何返回所有JSON public class foo{ public MultipartFile dataFile; public String project; publ

我使用SpringBoot和@PostMapping试图返回一个包含1个多部分文件和一些字符串的POJO。当我看邮递员时,我只看到多部分对象的一半。文件大小为3kb。我没有发现任何错误。当我返回multipart变量null时,JSON中的其他变量将显示在响应中,因此它们不是空的。如何返回所有JSON

public class foo{
    public MultipartFile dataFile;
    
    public String project;
    
    public Boolean extract;

    ... getter - setter - constructor
}
我像你一样寄

@PostMapping
public foo route(@RequestParam("dataFile") MultipartFile dataFile, ... ) {

 ...
    return fooObject;
}
回应

{
    "dataFile": {
        "name": "dataFile",
        "bytes":"MIKCAQYJKoZIhvcNAQcCoIKB8jCCge4CA... (half of the file)

正如我所想,
MultipartFile
用于上传对象,而不是下载对象。正如Javadoc中所述:

在多部分请求中接收的上载文件的表示形式

这意味着,它是伟大的上传,但这不是下载的情况

最简单(也是最直接)的方法是将
MultipartFile
更改为
byte[]
并将其发送到客户端

以下是一个例子:

public Foo getFile(MultipartFile multipartFile) {
    byte[] bytes = multipartFile.getBytes();
    return new Foo(bytes, "project");
}

服务器发送的头
内容类型
的值是多少?服务器:Apache Coyote/1.1内容类型:应用程序/json传输编码:Chunked如何创建
多部分文件
?@RequestParam(“foo”)多部分文件foo,然后插入到对象构造函数中