如何在REST API响应中将文件作为URL传递以直接查看文档

时间:2018-12-06 10:20:11

标签: java rest http web

我有一个GET REST API,该API在请求中接受empno并作为响应返回文档。现在,我们将响应作为ResponseEntity传递。但是,当客户端点击URL时,就会从我的API调用中下载此文档。下面是我的示例代码:

public class ViewDocController {
    @RequestMapping(value = "/{empno}", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEntity<byte[]> viewDoc(@PathVariable(value = "empno") String empno)
            throws ServletException, IOException {      
        return baseBiz.viewDoc(documentRequestBody);
    }
}

但是我们希望不要下载,而是在点击API URL时在浏览器中打开文件。例如,如果在我的api网址中是: http://localhost:8080/rest/services/viewDoc/12345 然后在资源管理器上点击此文件,文件应在页面上打开。

请建议采取任何方法

1 个答案:

答案 0 :(得分:0)

您可以像这样用字节数组发送回对象,

public class ExistingFileDAO extends BaseMessage {

    String fileName;
    byte[] targetArray;

    public ExistingFileDAO(String fileName, byte[] targetArray) {
        this.fileName = fileName;
        this.targetArray = targetArray;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public byte[] getTargetArray() {
        return targetArray;
    }

    public void setTargetArray(byte[] targetArray) {
        this.targetArray = targetArray;
    }
}