这段时间做了跟前端对接的需求,发现前后端联调测试的时候,由于传参的问题,话了不少时间去解决前端传的值,后端能够映射得到。(真的是测试花的时间还比写代码花的时间要多,总是在一些细节小问题上花很多时间,所以才写下这篇文章,提醒自己)
1.前端送来的字符串数组,原以为后端定义一个String[] numList,映射就了事的。结果映射不了(没有用@RequestBody),最后从请求中去拿这个数组,request.getParamter(“numList[]”),然后再赋值。
2.对@RequestParam的理解,虽然说这个注解可以校验前端传参是否必传,但是没有办法控制空字符串,从代码健壮性方面来说,后台还需要对前端必传的参数,再做一次判空的处理。
3.@RequestParam和@PathVariable的区别和使用
请求路径上的区别:很明显一个是 ?键值对,一个是 /参数 ,区别很明显
@PathVariable主要用于接收http://host:port/path/{参数值}数据。
@RequestParam主要用于接收http://host:port/path?参数名=参数值数据,这里后面也可以不跟参数值。
@RequestParam用于获取参数,可获取?username="sss"这种?后面的参数值
如:访问路径为:http://localhost:7012/billing/pay/paySerial?paySerialId=20190821155435120115620216832
前端传参的坑
最新推荐文章于 2023-04-06 14:14:52 发布