2017-12-07 13 views
0

テキストと添付オブジェクトで「multipart/form-data」を使用するRESTサービスを作成しようとしています。私は "org.springframework.web.multipart.MultipartFile"を使用することができますが、私はどのようにTextオブジェクトのサービスメソッドを指定するのですか?Spring 4.xを使用してRESTエンドポイント・サービスを作成するには、マルチパートを使用しますか?

以下は、サービスへの期待されるクライアントの呼び出しです。以下指定されているよう

enter image description here

答えて

0

この方法を使って、残りのエンドポイントを作成

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

または

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); 
} 
0

ちょうどコントローラを作成する文字列のpojoクラスを作成します。

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

ここで、ファイルがバインドされるmultipartfileメンバーと共に提出する必要があるものについて、pojoクラスを作成します。 MultipartFile

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

private MultipartFile attachment; 

//create getters and setters 

} 

POJOのためのコードの下に参照してくださいここで使用されるが、複数の添付ファイルを持っている場合は、私は電子メールオブジェクトを作成し、参照したPOJOでMultipartFile[]

+0

を使用することができ、スプリング

import org.springframework.web.multipart.MultipartFile; 

によって提供されメソッドの@RequestParamとして次のエラーが発生します。 TTPステータス400 - 必須の電子メールパラメータ 'email'が存在しません – user1541472

+0

@ user1541472なぜrequestparamですか?そのrequestParamを '@ ModelAttribute'に変更したい場合は –

関連する問題