我遇到这个问题的主要原因是在controller里面用的@RequestParam标签接收,但在postman里面写的是Body里面,如图
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
@RequestParam接收的是请求参数,不是接收请求头的body里面的参数的,所以这样写是接收不到的,如果要接收到这个参数需要用@RequestBody这个注解,,然后controller里面可以用map接收参数,如图
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
,如果参数是一个列表的话可以用List的形式去 接收如图:
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
,当然加入参数多了不想这样用map接收也可以封装成对象如图
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
MissingServletRequestParameterException: Required String parameter 'xxx' is not present

假如非要用@RequestParam接收的话postMan里面就要把参数写到下面的位置:
MissingServletRequestParameterException: Required String parameter 'xxx' is not present
这个时候参数会自动的带到上面的地址栏里面。
另外,当使用上面的Params请求后台的时候Content-type 是application/x-www-form-urlencoded,并不是我们常用的application/json。

相关文章: