kio*_*sia 5 java csv spring spring-boot spring-web
我需要根据请求接收 csv 文件并对其进行处理。
@PostMapping(value = "/csv", consumes = "text/csv")
public ViewObject postCsv(@RequestBody InputStream request){
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
但是当我执行时:
curl -X POST -H 'Content-Type: text/csv' -d @input.csv http://localhost:8080/csv
Run Code Online (Sandbox Code Playgroud)
这是我的控制台上显示的内容:
Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/csv;charset=UTF-8' not supported]
Run Code Online (Sandbox Code Playgroud)
Spring首先说我的请求无效。
那么,问题是:如何正确接收这个csv?
正如有人在评论中提到的,一种方法是实现您自己的 HttpMessageConverter - 网络上有不同质量的示例。
如果您已经有一些使用 Springorg.springframework.core.io.Resource类解析 CSV 的代码,另一种选择是更改方法签名,如下所示以使用 Spring 的内置方法ResourceHttpMessageConverter:
@PostMapping(path = "/csv", consumes = "application/octet-stream")
public ViewObject postCsv(@RequestBody Resource resource){
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4064 次 |
| 最近记录: |