我正在尝试编写端点以进行注册。所有用户数据都在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