如何检索与RESTful Web服务发送的视频或图像关联的元数据?

时间:2016-09-02 22:19:44

标签: java spring rest http video

我的控制器如下所示:

@RequestMapping(value = "/videos/{id}", 
                     headers = "Accept=image/jpeg, image/jpg, image/png, video/mp4", 
                     method = RequestMethod.GET)
public ResponseEntity<byte[]> loadVideo(@PathVariable("id") long campaignId,
                                        Principal principal) throws IOException {

此控制器返回与给定id关联的媒体的字节流。它工作正常。我唯一的问题是加载这个视频相关的元数据(标题,描述,视图计数等...),因为我发回一个字节数组,所以我不太确定在哪里放置元数据

  • 我应该将元数据放在响应标题中吗?

  • 我应该有两个单独的呼叫,一个用于视频(字节流)和    另一个调用返回一个包含元数据的对象?

  • 或者是否有更好的方法来解决这个问题    以上选项?

1 个答案:

答案 0 :(得分:1)

由于我的评论已经很长,我决定再次在此重新发布:

如果您处理某些媒体类型(如image/jpgvideo/mp4),则应将元数据包含为标题,因为响应的有效内容应仅包含相应文件的字节。这样也可以查找元数据,而无需通过简单的HEAD请求下载实际文件的字节。

某些API提供,howerver,定义自己的媒体类型或向客户端发送基于JSON或XML的响应。在这种情况下,有效负载通常包含预定义的结构,该结构包括作为base64编码的字符串的文件的字节以及作为纯文本的元数据。这些API参数一次发送多个文件比这样处理多部分内容更容易。