为什么restful中@postMapping接收的单个参数却是拼接在路径上的(记录自己的疑惑和解决办法)
restful风格的传参方式为什么用的是postMapping但是却在url上拼接呢??
如图:
在postman上测试出现的url:
原因:
如果前台用的是post请求传的body格式的话,那么后台接收也只能用json格式
而@RequestParam则是表示单个必传的参数,其实对应的是前台的text格式,这样的话就会报400. 如果前端要传的话就只能用url拼接参数的形式了 。
而前端用post请求传的是body的话,后台想接收 就得用@RequestBody注解了,该注解表示一个不为空的body,而且可以用在单个的参数上
如图:
但是postman上传参用的格式如图不会报错并且成功:
而用json格式key…value格式会报错:
为什么呢?仍然有疑问