今天想在后台单独接收一个参数“fullname”,前台传送的数据格式是json,在处理的过程中发现了一些问题。
1.前端传送的json数据问题,刚开始是使用vux ajax的get方法传fullname,后台一直报错说没有没有收到参数,很奇怪。后来查看请求体,还是没有内容。后来请求方式改成post,请求里就有内容里。
所以:后台使用resqusetBody接收参数时,vux里使用get,这时后台是接收不到值得,此时只能用post。
后台要是有get方式的话,后台用 resqusetParam 才能接收
2.因为我只传一个值,所以再单独写一个pojo类,显然是不合适的。观察了一段时间请求内容后,发现json其实使用的就是键值对的形式传递数据,所以使用map格式接受数据应该也是可行的。实体类只是将这些键值对自动装配到对象的属性里。
我使用@requestbody接收后,发现还是不行,使用debug后,发现传输格式不对,格式居然是:{"params":{"fullname":"上海第一医院"}} ,后来意识到我在前端api.js文件里写法可能有问题,改成
export const getHospInfor = params => { return axios.post(`${base}/getHospInfor`,params).then(res => res.data); };
这样就没问题了,之前传值写法是 {params:params},所以后来发送的时候,多了{“params”}