我正在使用Jersey 1.7,我试图通过我的方法访问请求正文,与此问题非常相似: How do I read POST parameters for a RESTful service using Jersey? 身体价值正常,电子邮件地址为email=xx@ws.com&密码= test1
我尝试使用@Context HttpServletRequest请求并尝试使用request.getParameter(“email”)访问该电子邮件,但什么都没得到。 request.getparameterMap()中也没有任何内容。
我的API如下所示: @POST @Produces(...) public Response getData(@FormParam(“email”)String email,@ FormParam(“password”)String password,String body,@ Context HttpServletRequest request){....
我尝试改变String body的位置并请求但无济于事。
String主体获得的值非常好(它来自iPhone设备,而不是通过Form Submit,因此显示在String主体中)。现在,我正在尝试解析正文内容(email=xx@ws.com& password = test1)并将每个变量都像电子邮件一样输出,但这很痛苦。
有没有办法使用request.getParameter(“email”)获取值?
或者是否有任何快速实用工具将正文内容转换为String email和String password?
TIA, 维杰
答案 0 :(得分:3)
我自己从未使用过表单参数,但文档说它应该永远有效:
@POST
@Consumes("application/x-www-form-urlencoded")
public void post(MultivaluedMap<String, String> formParams) {
// Store the message
}
http://wikis.sun.com/display/Jersey/Overview+of+JAX-RS+1.0+Features