有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Spring在RequestBody上实现java CSV

我需要收到一个csv文件的请求,并处理它

@PostMapping(value = "/csv", consumes = "text/csv")
  public ViewObject postCsv(@RequestBody InputStream request){
// do stuff
}

但当我执行时:

curl -X POST -H 'Content-Type: text/csv' -d @input.csv http://localhost:8080/csv

以下是我的控制台上显示的内容:

Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/csv;charset=UTF-8' not supported]

Spring说我的请求在其他任何事情之前都是无效的

因此,问题是:如何正确接收此csv


共 (1) 个答案

  1. # 1 楼答案

    正如有人在评论中提到的,一种方法是实现您自己的HttpMessageConverter——在web上有不同质量的示例

    如果您已经有了一些使用Spring的org.springframework.core.io.Resource类解析CSV的代码,那么另一个选项是如下更改方法签名以使用Spring的内置ResourceHttpMessageConverter

    @PostMapping(path = "/csv", consumes = "application/octet-stream")
        public ViewObject postCsv(@RequestBody Resource resource){
        // do stuff
    }