Spring Boot rest контроллер вызова - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь отправить файл и другие значения в контроллер покоя из службы angular. но

@PostMapping("/rest")
@ResponseBody
public ResponseEntity<FileUploadResponse> upload(@RequestBody Entity entity){

}

этот метод вызывает бесконечный цикл и из-за этого приложение не запускается. Я пробовал Загрузка файла с другими полями формы в Angular 2 и Spring MVC , но любая модификация, кроме только аргумента @RequestParam в определении метода, заключается в создании бесконечного цикла при запуске приложения весенней загрузки.

если я меняю сигнатуру метода для загрузки (@RequestParam ("Файл") файл MultipartFile, @RequestParam ("дополнительная информация") Информация о файле)

приложение не запускается, поскольку входит в бесконечный цикл.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

У меня была похожая ситуация: я использовал пружинный составной элемент. Spring предлагает поддержку нескольких частей (загрузку файлов) в веб-приложениях. Вот мой код:

@PostMapping("/uploadTest")
public ServiceResponse<String> uploadTestFile(@RequestParam("file") MultipartFile file, @PathVariable("id") Integer id){
     return new ServiceResponse<>(paymentService.uploadFile(file,id));
}

Вы можете использовать эту статью для справки. Вы можете добавить дополнительные параметры, так как я использовал идентификатор.

0 голосов
/ 27 августа 2018

У меня нет опыта работы со Spring MVC, я работаю с Джерси, и в вашем случае я создал класс с атрибутом pdf bytes и другими атрибутами, а затем просто отправил его.

Class PdfRest
{
 byte[] bArray;
 String name;
}

Тогда просто сделай что-то вроде

OutputStream out = new FileOutputStream("out.pdf");
out.write(bArray);
out.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...