我将Spring MVC用作休息 Controller ,并且已使用Springfox将Swagger-ui与 Controller 集成在一起。我想拥有一种能够通过Swagger-ui界面上传文件的方法。我只需要两个参数,一个长的对象ID和要上传的文件。

@RestController
public class controller{
    @RequestMapping(value="/upload", method=RequestMethod.POST)
    public void uploadFile(@RequestParam Long id,
                           @RequestParam MultipartFile file){
          //do some stuff
    }
}

我已经尝试了几乎所有内容,但无法显示文件上传按钮。但是,如果我这样做:

@RestController
public class Controller{
    @RequestMapping(value="/upload", method=RequestMethod.POST)
    public void uploadFile(@RequestParam Long id,
                           @RequestPart File file){
         //do some stuff
    }
}

出现文件上传按钮,但是在尝试上传文件时,它总是抛出HTTP代码415。此外,我需要输入的是MultipartFile,而不是常规文件。即使我将@RequestPart注释与Multipart File一起使用,也没有出现选择要上传的文件按钮。我如何使它工作???甚至:

@RestController
public class Controller{
    @RequestMapping(value="/upload", method=RequestMethod.POST)
    public void uploadFile(@RequestPart String metaData,
                           @RequestPart MultipartFile file){
        //do some stuff
    }
}

不行如果有人可以逐步介绍如何使此按钮出现在MultipartFile中?我将永远感激不已

最佳答案

在我的情况下,我需要做两件事

  • 我的MultipartFile请求参数必须命名为“file”,否则,swagger-ui不会显示文件上传输入控件


  • 我必须注册以下bean

  • 08-27 23:53
    查看更多