Я использую Spring MVC в качестве контроллера отдыха и интегрировал Swagger-ui со своим контроллером с помощью Springfox. Мне хотелось бы иметь метод, позволяющий загружать файл через интерфейс Swagger-ui. Мне нужно только два параметра: идентификатор объекта длительного действия и файл, который нужно загрузить.
Код: Выделить всё
@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 с многочастным файлом, кнопка выбора файла для загрузки не появляется. Как мне заставить это работать???? Даже:
Код: Выделить всё
@RestController
public class Controller{
@RequestMapping(value="/upload", method=RequestMethod.POST)
public void uploadFile(@RequestPart String metaData,
@RequestPart MultipartFile file){
//do some stuff
}
}
Не сработает. Если бы кто-нибудь мог объяснить, как отобразить эту кнопку для MultipartFile? Буду вечно благодарен.
Подробнее здесь:
https://stackoverflow.com/questions/314 ... swagger-ui