Dropwizard 0.9.3中的Jersey 2.22将BeanParam变量设置为null

时间:2018-03-16 09:36:31

标签: jersey-2.0 dropwizard

我正在尝试编写端点以进行注册。所有用户数据都在POJO中描述,我在@BeanParam中设置了端点参数。如果端点注释为使用多部分表单,则来自请求的所有POJO参数均为空。

但是,如果我注释端点使用常规表单并用@FormParam替换@FormDataParam,则设置所有数据

POJO:

public class RegisterUserParams {

@NotEmpty
@Email
@FormDataParam("email")
private String email;

@NotEmpty
@FormDataParam("name")
private String name;

@NotEmpty
@FormDataParam("phone")
@Pattern(regexp = "^[0-9]+$", message = "phone must contain only digits")
private String phone;

@NotEmpty
@FormDataParam("password")
@Size(min = 6, max = 50)
private String password;

// more fields, default constructor, getters and setters

端点

@POST
@UnitOfWork
@Path("/register")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public void registerUser(@Valid @BeanParam RegisterUserParams form) {
     // endpoint code
}

Dropwizard版本0.9.3,泽西岛版本2.22

0 个答案:

没有答案