我们如何使用骆驼 API 提供文档下载,我需要使用骆驼休息提供一个 api 来将文件响应为下载,并且我有使用 apache fop 创建 pdf 的逻辑,但我需要获取一些如何响应文件的信息作为使用骆驼休息的休息反应。
@RestController
public class MyController {
@Autowired
ICityService cityService;
@RequestMapping(
value = "/pdfreport",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_PDF_VALUE
)
public ResponseEntity<InputStreamResource> citiesReport() throws IOException {
List<City> cities = (List<City>) cityService.findAll();
ByteArrayInputStream bis = GeneratePdfReport.citiesReport(cities);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "inline;
filename = citiesreport.pdf");
return ResponseEntity
.ok()
.headers(headers)
.contentType(MediaType.APPLICATION_PDF)
.body(new InputStreamResource(bis));
}
}