Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ResponseEntity不接受文本/csv:SpringBoot_Java_Spring Boot - Fatal编程技术网

Java ResponseEntity不接受文本/csv:SpringBoot

Java ResponseEntity不接受文本/csv:SpringBoot,java,spring-boot,Java,Spring Boot,Iam正在尝试创建一个API,该API同时接受CSV和json正文请求等文件。我尝试在spring boot中使用ResponseEntity对象 端点如下所示 @PostMapping(value="/csv",consumes=MediaType.ALL_VALUE) public void createConsumer(RequestEntity<?> data){ } 如何解决此问题?编写两种方法。如果使用文件作为请求主体,

Iam正在尝试创建一个API,该API同时接受CSV和json正文请求等文件。我尝试在spring boot中使用
ResponseEntity
对象

端点如下所示

    @PostMapping(value="/csv",consumes=MediaType.ALL_VALUE)
    public void createConsumer(RequestEntity<?> data){



    }

如何解决此问题?

编写两种方法。如果使用文件作为请求主体,请使用MulpartFile和相应的“consumes=…”,对于json,请使用@RequestBody:

  @PostMapping(value="/csv", consumes = MULTIPART_FORM_DATA_VALUE)
        public void createConsumer(@RequestParam MultipartFile file){
          
        }

@PostMapping(value="/csv", consumes = APPLICATION_JSON_VALUE)
        public void createConsumerFromJson(@RequestBody SomeObject json){
          
        }
在Postman中为MultipartFile将内容类型设置为body中的表单数据,如


这是否回答了您的问题@这对我不起作用。我已经设置了
内容类型
text/csv
Accept
*/*
。您是在上传文件还是将csv和/或JSON数据作为请求主体发布。您的问题建议使用第一种方法,您的代码建议使用第二种方法(显然这不起作用)。但问题是,我希望在正文中接受json之类的数据以及文件类型数据。在更新的答案中,使用2种方法
  @PostMapping(value="/csv", consumes = MULTIPART_FORM_DATA_VALUE)
        public void createConsumer(@RequestParam MultipartFile file){
          
        }

@PostMapping(value="/csv", consumes = APPLICATION_JSON_VALUE)
        public void createConsumerFromJson(@RequestBody SomeObject json){
          
        }