我有一个基本的REST调用
/**
* REST CALL
* @return
*/
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<Template> getTemplatesJson(){
logger.info("GET all computers- /computers/ -- content type = application/json");
return computerService.retrieveAllComputers();
}
当我转到URL时,我在浏览器中看到了JSON。我们还希望我们的用户能够将JSON下载为文件(稍后用于导入)。
我是否可以通过此端点轻松实现这一目标,还是需要创建全新的端点?
答案 0 :(得分:1)
您可以使用Content-Disposition
标题向浏览器表明内容应作为附件下载而不是显示。
以下是您的代码最终可能会显示的内容:
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<Template> getTemplatesJson(HttpServletResponse response) {
logger.info("GET all computers- /computers/ -- content type = application/json");
response.setHeader("Content-Disposition", "attachment; filename=templates.json");
return computerService.retrieveAllComputers();
}