0

マルチパートフォームのコンテンツを、対応するコントローラーメソッドで単一のオブジェクトにバンドルすることは可能ですか?

つまり、メソッドをどのように変換しますか

@RequestMapping(value = "/mult", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<SomeBean> upload(@RequestBody MultipartFile multipartFile, @RequestParam String param)

次のシグネチャを持つメソッドに変換します。

@RequestMapping(value = "/mult", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<SomeBean> upload(@RequestBody MultipartWrapper wrapper)

ここMultipartWrapperには、multipartFile と追加のパラメーターが含まれています。

public class MultipartWrapper {
    private String param;
    private MultipartFile multipartFile;

    // Getters & Setters
}
4

1 に答える 1

1

他のコントローラーと同様に @ModelAttribute を使用します。

@RequestMapping(value = "/mult", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<SomeBean> upload(@ModelAttribute("cmd") MultipartWrapper wrapper) {
    ...
}

@ModelAttribute("cmd")
public MultipartWrapper getWrapper() {
  return new MultipartWrapper();
}

public class MultipartWrapper {
  private String param;
  private MultipartFile multipartFile;

  // Getters & Setters
}
于 2013-10-16T14:29:55.973 に答える