我有一个接收输入的球衣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) {}