我正在尝试使用POST
将多个表单参数发送到我的REST服务器。但客户端发送的参数始终为null
。
@POST
@Path("/login")
@Produces({ "application/json" })
public LoginData userLogin(@FormParam("picture") String picture,
@FormParam("name") String name,
@FormParam("email") String email) {
...
}
当我删除所有参数时,如下面的代码,它可以正常工作:
@POST
@Path("/login")
@Produces({ "application/json" })
public LoginData userLogin() {
...
}
我已经检查过,客户端发送的值不是null
。
接收参数有不同的方法吗?
答案 0 :(得分:1)
使用@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
注释您的方法:
@POST
@Path("/login")
@Produces(MediaType.JSON)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public LoginData userLogin(@FormParam("picture") String picture,
@FormParam("name") String name,
@FormParam("email") String email) {
...
}
确保请求的Content-Type
为application/x-www-form-urlencoded
。