use*_*905 5 java csv spring spring-boot spring-restcontroller
我正在编写一个 spring rest 方法来从数据库中获取详细信息并将其设置在响应 POJO 中,然后返回它。目前,当使用 POSTMAN 或 RC(如带有数据的可下载 CSV 文件)命中 URL 时,我需要以 CSV 格式而不是默认 json 格式生成此响应。我用谷歌搜索了很多网站,但我不确定一些逻辑。
目前我还没有为 CSV 转换编写任何代码。
@GetMapping("/batch/export" , produces="text/csv")
public ResponseEntity<ApplicationResponse> getBatchDetails(
HttpServletRequest request) {
ApplicationRequest appRequest = ApplicationServiceMapper.mapRequestFromHttpRequest(request);
ApplicationResponse response = appService.getDBDetails(appRequest);
return new ResponseEntity<>(response, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
这里的响应是服务以 pojo 格式返回所有数据的响应,如果我们不在注释中给出产品,那么默认情况下 spring 将返回响应 json。有人可以指导我吗?提前致谢。
小智 5
仅使用@GetMappingwithproduces="text/csv"是不够的。它只负责设置响应头Content-Type: text/csv。
您需要将响应添加为参数HttpServletResponse response,将您的响应转换POJO为有效csv文件,然后才将csv文件写入HttpServletResponse.
| 归档时间: |
|
| 查看次数: |
11426 次 |
| 最近记录: |