有 Java 编程相关的问题?

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

SpringREST中带有JSON的java多部分不起作用

我试图创建一个方法,在同一个请求中同时接受多部分/表单数据和应用程序/json内容类型。我正在使用SpringRest来创建相同的。但是当我从Fiddler请求时,调用没有到达方法。请帮忙

服务方法

@RequestMapping(value = "/", method = RequestMethod.POST, produces = "application/json",consumes = "multipart/form-data")
public ResponseEntity<JSONObject> addField( @RequestParam int customerId,@RequestParam int teId, 
        @RequestPart("file") List<MultipartFile> multipartFiles, @RequestParam("toast") String toast, MultipartHttpServletRequest request){

小提琴手

标题

Content-Type: multipart/form-data; boundary=HereGoes;

身体

 Content-Type: application/json

 ---------------------------acebdf13572468
  Content-Disposition: form-data; name="fieldNameHere"; filename="file1.pdf"
Content-Type: application/pdf

  <@INCLUDE *C:\Users\User\Desktop\file1.pdf*@>
 ---------------------------acebdf13572468--

共 (1) 个答案

  1. # 1 楼答案

    在fiddler的请求正文中添加正确的文件名。在您的方法中,它是@RequestPart(“文件”)。所以在“name”字段中使用“file”,而不是由fiddler生成的“fieldNameHere”。您的请求主体应该如下所示

                  -acebdf13572468
     Content-Disposition: form-data; name="file"; filename="file1.pdf"
     Content-Type: application/pdf
    
     <@INCLUDE *C:\Users\User\Desktop\file1.pdf*@>
                  -acebdf13572468