如何使用Spring 4.x创建REST端点服务消耗多部分?

时间:2017-12-07 03:04:28

标签: spring rest

我正在尝试创建一个使用" multipart / form-data"的REST服务。包含文本和附件对象。对于我可以使用" org.springframework.web.multipart.MultipartFile"的文件,但是如何为Text对象指定服务方法?

以下是预期的客户服务电话。

enter image description here

2 个答案:

答案 0 :(得分:0)

使用这种方式创建Rest端点

  public void sendEmail(@RequestParam String to,@RequestParam String from,@RequestParam String cc,@RequestParam String body, @RequestParam(required = false)MultipartFile[] file){
  }

为字符串创建pojo

public class Email{
  private String from;
  private String to;
  private String cc;
  private String body;
 // getters and setters
}
 //email should be json string
 public void sendEmail(@RequestParam String email,@RequestParam(required = false) MultipartFile[] file){
   ObjectMapper mapper=new ObjectMapper();
   Email email_pojo=mapper.readValue(email,Email.class);
}

答案 1 :(得分:0)

只需按照以下规定创建控制器:

@RequestMapping(value = "/uploadFiles", headers = ("content-type=multipart/*"), method = RequestMethod.POST)
    public AppDTO uploadFile(UploadFiles uploadFiles, HttpServletRequest request) {

现在为需要提交的内容创建一个pojo类,以及文件将绑定到的多部分文件成员。请参阅下面的pojo代码

class UploadFiles
{
private String cc;
private String to;
private String from;

private MultipartFile attachment;

//create getters and setters

}

这里使用的MultipartFile由spring提供

import org.springframework.web.multipart.MultipartFile;

如果您有多个附件,则可以在POJO中使用MultipartFile[]