【发布时间】:2015-10-14 09:40:46
【问题描述】:
我需要编写一个REST api,它将发送一个XML 文件作为响应。
我对应该将 MediaType 定义为响应的内容感到困惑。
@Produces(MediaType.APPLICATION_OCTET_STREAM)
或
@Produces(MediaType.APPLICATION_XML)
API 将由 GET 请求提供,我希望在客户端下载文件。
【问题讨论】:
我需要编写一个REST api,它将发送一个XML 文件作为响应。
我对应该将 MediaType 定义为响应的内容感到困惑。
@Produces(MediaType.APPLICATION_OCTET_STREAM)
或
@Produces(MediaType.APPLICATION_XML)
API 将由 GET 请求提供,我希望在客户端下载文件。
【问题讨论】:
我会选择@Produces(MediaType.APPLICATION_XML),因为@Produces(MediaType.APPLICATION_OCTET_STREAM) 是application/octet-stream 的常量,通常用于二进制类型(例如视频、音乐等)
【讨论】:
我建议不要直接发送文件。 在服务器端读取文件并将文件内容作为响应发送。
它看起来像
@GET
@Produce("application/xml")
public Response sendData(){
//code to read file and store in a string object
return Response.built.ok(string object);
}
【讨论】: