Post 在Jersey中使用HttpServletRequest获取正文内容

Post 在Jersey中使用HttpServletRequest获取正文内容,post,jersey,Post,Jersey,我使用的是Jersey 1.7,我尝试使用与此问题非常类似的方法访问请求主体: 身体价值和电子邮件一样重要=xx@ws.com&密码=test1 我尝试使用@Context HttpServletRequest,并尝试使用request.getParameter(“email”)访问电子邮件,但什么也没有得到。request.getparameterMap()中也没有任何内容 我的API如下所示: @职位 @产生(…) 公共响应getData(@FormParam(“电子邮件”)字符串电子邮件、

我使用的是Jersey 1.7,我尝试使用与此问题非常类似的方法访问请求主体: 身体价值和电子邮件一样重要=xx@ws.com&密码=test1

我尝试使用@Context HttpServletRequest,并尝试使用request.getParameter(“email”)访问电子邮件,但什么也没有得到。request.getparameterMap()中也没有任何内容

我的API如下所示: @职位 @产生(…) 公共响应getData(@FormParam(“电子邮件”)字符串电子邮件、@FormParam(“密码”)字符串密码、字符串正文、@Context HttpServletRequest请求){

我试图改变字符串主体和请求的位置,但没有成功

字符串主体可以很好地获取值(它来自iPhone设备,而不是通过表单提交,因此显示在字符串主体中)=xx@ws.com&password=test1)并将每个变量如电子邮件发送出去,但这很痛苦

是否有某种方法可以使用request.getParameter(“电子邮件”)获取值

或者是否有任何快速实用程序将正文内容转换为字符串电子邮件和字符串密码

蒂亚,
Vijay

我自己从来没有使用过表单参数,但文档说它应该永远起作用:

@POST
@Consumes("application/x-www-form-urlencoded")
public void post(MultivaluedMap<String, String> formParams) {
    // Store the message
}
@POST
@使用(“应用程序/x-www-form-urlencoded”)
公共无效post(多值DMAP formParams){
//存储消息
}

呼叫是从移动设备发出的,不使用表单提交(在Android上使用httpClient等)。因此,使用x-www-form-urlencoded仅适用于表单提交中的测试示例。感谢您的回复。我将测试并查看多值Map是否有效。您能否共享来自此特定客户端的HTTP请求示例?