Java Servlet中的doPost()在Postman中返回null

3

我正在进行一项简单的Java Servlet POST请求,不使用任何HTML,只使用Postman。而getParameter()的响应始终为null

这是servlet:

@WebServlet("/api/form")
public class FormServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String orderNumber = req.getParameter("testString");
        System.out.println(orderNumber);
        resp.getWriter().print(orderNumber);
    }
}

以下是翻译:

附有回应和我如何处理的图片:

输入图像描述

编辑

正如Mukesh Verma所评论的。

我所要做的就是添加@MultipartConfig注释,然后获取数据。


如果您传入的是"test"而不是test会怎样? - npinti
@npinti 相同的结果 - Richard
@npinti 这会有什么帮助吗?这不是在表单请求中发送的内容。 - Dave Newton
你能展示一下“Headers”选项卡吗? - Andreas
1
尝试使用@MultipartConfig注释。它处理表单数据的mime类型。 - Mukesh Verma
@MukeshVerma,搞定了,谢谢。 - Richard
3个回答

1

这不是getParameter方法的工作方式。如此问题所述,您应该使用以下URL调用servlet:

http://localhost:8080/api/form?testString=test

它确实返回了“test”,但是无法在Postman的表单数据中使用,没有办法吗? - Richard
1
尝试将Postman的单选按钮从“form-data”更改为“x-www-form-urlencoded”。 - Lorelorelore
不一定非要用 getParameter(),但有没有其他方法可以从请求中获取数据呢? - Richard
@kataroty 尝试使用 getParameterMap() 看看是否能获取到任何内容。 - Andreas
尝试使用@MultipartConfig。 - Mukesh Verma
显示剩余2条评论

1
尝试使用@MultipartConfig注释。它处理表单数据的mime类型。

0

将Postman的单选按钮从form-data更改为x-www-form-urlencoded也可以解决问题,我能够获取数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接