记录一下今天在工作中遇到的一个小问题,有如下接口:
我在后端测试的时候是没有问题的,测试结果如下:
但是前端调用后就报了Required String parameter ‘ids’ is not present的错误,请教了度娘后,发现是前后端传参方式不一样,于是我看了前端小哥哥的参数是如下格式:
{"ids":"1931,618","role":1}
JSON格式的参数,经过检查发现原来是我把控制器的接口写成post方式请求,而接收参数的方式却是@RequestParam,我才想起原来是这个接口传的是一个对象,后来改成了传参数,却忘了改请求方式,这是未修改的代码:
修改后如下:
注意:post默认传的是json格式的数据,在后台应该用@RequestBody接收,get请求传的是key/value形式的数据,在后台应该用@RequestParam接收。