Spring Boot Rest控制器调用

时间:2018-08-27 11:50:28

标签: angular rest spring-boot

我正在尝试从角度服务将文件和其他值发送到其余控制器。但是

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

}

此方法导致无限循环,并且由于该应用程序无法启动。 我已经尝试过Uploading file with other form fields in Angular 2 and Spring MVC,但是方法定义中仅@RequestParam参数之外的任何修改都会在spring-boot应用程序启动时导致无限循环。

如果我将方法签名更改为upload(@RequestParam(“ File”)MultipartFile文件,@RequestParam(“ additionalInformation”)信息信息)

应用程序进入无限循环后无法启动。

2 个答案:

答案 0 :(得分:1)

我没有使用Spring MVC的经验,我正在使用Jersey,在您的情况下我所做的就是创建一个具有pdf bytes属性和其他属性的类,然后将其发送。

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

然后做类似的事情

OutputStream out = new FileOutputStream("out.pdf");
out.write(bArray);
out.close();

答案 1 :(得分:0)

我有一个类似的情况,我做的是使用spring multi-part。 Spring在Web应用程序中提供了多部分(文件上传)支持。 这是我的代码:

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

您可以使用this文章作为参考。您可以添加其他已使用ID的参数。