Spring boot 学习 九
一:经过试验发现,如果使用如下的Controller(@RequestBody), 前台POST的请求body只能是JSON,如果是form-data, X-www-form-urlencoded 或者XML都会报415 Unsupported Media Type错误
@RequestMapping(value = "/users", method = RequestMethod.POST ) public String addUser(@RequestBody User user, HttpServletRequest request) { userService.addUser(user); return "OK"; }
二:如果要接受form-data / X-www-form-urlencoded: 可以用HttpServletRequest, 使用如下的方法来获得参数。
request.getParameterNames()
request.getParameter("AA")
request.getParameterMap()
@RequestMapping(value = "/users/new", method = RequestMethod.POST ) public String addUser( HttpServletRequest request) { System.out.println(request.getQueryString()); return "OK"; }
三: form-data 和 X-www-form-urlencoded 有什么区别
form-data可以上传文件和键值对; X-www-form-urlencoded只能上传键值对。