@ResponseBody
@RequestMapping(value = {"apiRequest"}, method = {RequestMethod.POST})
public String contestApiSignUp(HttpServletRequest req) throws JSONException {
try {
String username = req.getParameter("username");
String firstname = req.getParameter("firstname");
String lastname = req.getParameter("lastname");
String password = req.getParameter("password");
String phone = req.getParameter("phone");
这里我得到的值都是null。那就是username = null,firstname = null ...
我正在使用值来发布请求 http://localhost:8080/apiRequest.htm
username = Subhajit
firstname = Subha
...
像这样。
但我正在使用相同的代码,但
@RequestMapping(value = {"apiRequest"}, method = {RequestMethod.GET})
使用GET代替POST,然后我得到了正确的值。
答案 0 :(得分:0)
当您通过POST将HTML表单发送到您的URL / apiRequest时,您是否在表单中的字段中填写了数据(用户名,名字等),或者是否将它们附加到发送的URL(例如{{1} }})?
因为使用第二种方法,您只能通过GET请求而不是POST来访问数据。第一种方法适用于POST请求。
此外,您不需要在Spring Controller中的HttpServletRequest上显式调用getParameter。
你可以这样做:
apiRequest.htm?username=test&...
答案 1 :(得分:0)
从评论中,您说您正在尝试邮递员发布请求,那么您是在构建网站还是Web服务? 您不应该在标题中发送数据。