如何自动将Multipart/Form-DATA输入映射到泽西岛的Bean



我有一个接收输入的球衣REST API,作为多部分/表单数据。签名如下:

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

表单中的输入参数为:

clientName
orderType
year

我想拥有这样的东西:

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

并在这样的豆子中获取我的所有输入:

public class OrderBean {
    private String clientName;
    private int orderType;
    private int year;
    // Getters and setters
}

有没有办法与泽西岛自动做到这一点?我知道我可以手动映射字段并填充豆子,但实际上我正在寻找注释或类似的东西,可以自动填充豆子。

泽西岛在 @BeanParam bean中支持@FormDataParam s。如果要这样做(如大多数示例中所看到的):

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

然后您也可以做

class OrderBean {
  @FormDataParam("clientName")
  private String clientName;
  // getter/setters
}
@POST
public Response post(@BeanParam OrderBean order) {}

最新更新