[英]GetMapping to produce CSV file using Spring Boot
我正在編寫一個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);
}
這里的響應是服務以其pojo格式返回所有數據的響應,如果我們不在注釋中給出產生,那么默認情況下spring將返回響應json。 有人可以指導我嗎? 提前致謝。
僅使用@GetMapping
produces="text/csv"
的@GetMapping
是不夠的。 它只負責設置響應頭Content-Type: text/csv
。
您需要將響應添加為參數HttpServletResponse response
,將您的POJO
轉換為有效的csv
文件,然后將csv
文件寫入HttpServletResponse
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.