java - 休息 web 服务返回一个带有 byte[] 的对象
问题描述
我需要用 byte[] 返回一个对象。我的返回对象如下所示:
class FileInfo {
String name;
byte[] fileContent;
boolean signRequired;
}
我需要通过休息调用返回这个对象。MediaType octet_stream 不适合,因为我的对象 FileInfo 同时具有 byte[] 和其他参数。我不希望 byte[] 被编码为 Base64,因为它需要更多的工作。有没有其他方法可以实现这一目标?我看到了对多部分数据的引用。但不知道如何做到这一点
谢谢
解决方案
你应该能够返回一个字节 [] 作为你的对象的一部分,就像返回任何其他对象一样。您那里的对象看起来不错,也许我不理解您的问题。
您可以像这样在您的服务中有一个端点:(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;
}
推荐阅读
- flutter - iOS 应用程序在向后滑动手势时冻结约 0.5 秒
- python - 组合饼图和条形图 - Python Matplotlib
- java - 有什么方法可以在 Android Studio 上打开下载的 Play Store 应用程序?
- sql - 执行 LOWER() 时,ElasticSearch 查询导致错误“input_mismatch_exception”
- date - 创建与电子表格同步的日历,但所有事件都是在 1970 年 1 月 1 日 03:00 创建的。我错过了什么?
- python - 内联 Python 支持从 perl 传递文件句柄
- php - 如何从 If 语句中获取数组?
- c# - 将 Byte[] 从会话转换回列表
在c#中 - php - 如何阻止用户查看网站代码
- leaflet - Leaflet-routing-machine:如果航点已保存在某种数据存储中,有没有办法加载它们?