我正在写一个spring rest方法来从数据库中获取详细信息,并将其设置为响应POJO,然后将其返回。目前我需要使用CSV来生成此响应,而不是默认的json,当使用POSTMAN或RC命中URL时,就像可下载的带有数据的CSV文件一样。我搜索了很多网站,但不确定少数逻辑。GetMapping使用Spring Boot生成CSV文件
- 我们是否需要编写业务逻辑来将pojo类的值转换为csv格式还是spring有任何转换机制?
- Produces =“text/csv”在很多地方被提及,这是否正确地转换响应?
目前我还没有为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);
}
这里的回答是,在其POJO格式的所有数据,如果我们不给服务回报标注生产则默认情况下春天将返回响应JSON的一个。有人可以指导我吗?提前致谢。
[如何在浏览器中从Spring控制器中返回CSV数据]可能的副本(https://stackoverflow.com/questions/22947751/how-to-return-csv-data-in-browser-from-spring-controller ) –
Spring Boot使用Spring WebMVC并且Spring WebMVC具有[内置支持](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/view.html#view -jasper-reports)通过JasperReports发送CSV文件。另外,可以使用任何流行的CSV处理库自定义'MessageConverter' [可以构建](https://stackoverflow.com/a/44094437/1126526)。 – manish
嘿,这个:https://stackoverflow.com/a/45729709/1942642回答你的问题? –