我正在开发一个RESTful websevices项目,我的问题很简单, 有没有办法在同一个响应中返回'File'和'JSON'实体?
例如:假设我有这种方法:
@GET
@Path("downloadFile")
@Consumes(MediaType.TEXT_PLAIN)
public Response downloadLogStream( ..... ) {
.....
Response.ok(resultFile);
}
但我需要在文件旁边返回另一个实体而不添加其他标题。
可能吗?
答案 0 :(得分:0)
您只能发送回复,但这可能是一个复杂的对象。将结果/ json和状态包装在响应中。
return Response.status(200).entity(result).build();
更多信息
@GET
@Path("downloadFile")
@Consumes(MediaType.TEXT_PLAIN)
public Response downloadLogStream( ..... ) {
// Assuming result is json string
String result = " JSON is "+jsonObj;
return Response.status(200).entity(result).build();
}
}
文件下载
private static final String FILE_PATH = "pathTo:\\filename. Zip";
@GET @Path("/get")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response getFile()
{
File file = new File(FILE_PATH);
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition", "attachment; filename=newfile.zip");
return response.build(); }