首页 > 解决方案 > 休息 web 服务返回一个带有 byte[] 的对象

问题描述

我需要用 byte[] 返回一个对象。我的返回对象如下所示:

class FileInfo {

    String name;
    byte[] fileContent;
    boolean signRequired;

}

我需要通过休息调用返回这个对象。MediaType octet_stream 不适合,因为我的对象 FileInfo 同时具有 byte[] 和其他参数。我不希望 byte[] 被编码为 Base64,因为它需要更多的工作。有没有其他方法可以实现这一目标?我看到了对多部分数据的引用。但不知道如何做到这一点

谢谢

标签: javarestmultipartform-data

解决方案


你应该能够返回一个字节 [] 作为你的对象的一部分,就像返回任何其他对象一样。您那里的对象看起来不错,也许我不理解您的问题。

您可以像这样在您的服务中有一个端点:(PS 我使用 Jax.ws.rs 作为我的休息服务)

@GET
@Path("/getFileInfo")
@ApiOperation(value = "refreshPage", tags = {"v1"})
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public FileInfo getFileInfo(){

    FileInfo fileInfo = new FileInfo();
    //your stuff goes here. Get the File Info.

    return fileInfo;

}

推荐阅读