2017-02-15 21 views
0

multipart/form-dataとして入力を受け取るJersey REST APIがあります。次のようにシグネチャは次のとおりです。Jerseyのbeanにmultipart/form-data入力を自動的にマップする方法

@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("/getorders") 
public Response getOrders(final FormDataMultiPart request) { 

形式で入力パラメータは次のとおりです。

@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("/getOrders") 
public Response getOrders(final OrderBean order) { 

そして、すべての私の入力を取得:

clientName 
orderType 
year 

私が代わりにこのような何かを持っていると思いますこのようなbeanの中で:

public class OrderBean { 

    private String clientName; 
    private int orderType; 
    private int year; 

    // Getters and setters 
} 

Jerseyで自動的に行う方法はありますか?フィールドを手動でマップしてBeanに記入することができますが、実際には注釈などを探していて、Beanを自動的に埋めることができます。

答えて

0

ジャージーは@BeanParamビーンで@FormDataParamをサポートしています。あなたは(あなたがほとんどの例に見るように)これを実行した場合:

その後
@POST 
public Response post(@FormDataParam("clientName") String clientName) {} 

あなたも行うことができます

class OrderBean { 
    @FormDataParam("clientName") 
    private String clientName; 

    // getter/setters 
} 

@POST 
public Response post(@BeanParam OrderBean order) {} 
関連する問題