我有一个Jersey REST api,它接收输入作为multipart / form-data。签名如下:
@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) {
将所有输入都放在这样的bean中:
public class OrderBean {
private String clientName;
private int orderType;
private int year;
// Getters and setters
}
有没有办法用泽西岛自动完成?我知道我可以手动映射字段并填写bean,但实际上我正在寻找一个注释或类似的东西,它可以自动填充bean。
答案 0 :(得分:0)
Jersey在@FormDataParam
bean中支持@BeanParam
。如果你这样做(正如你在大多数例子中看到的那样):
@POST
public Response post(@FormDataParam("clientName") String clientName) {}
然后你也可以
class OrderBean {
@FormDataParam("clientName")
private String clientName;
// getter/setters
}
@POST
public Response post(@BeanParam OrderBean order) {}