为什么Controller接收不到前端的请求参数?

2023-06-27 279 0

html请求代码是这样的,用post请求,键的名字叫name为什么Controller接收不到前端的请求参数?
controller的代码是这样的,因为是传json,我有加@RequestBody为什么Controller接收不到前端的请求参数?
实体类的代码,也是取name,getter setter也有实现为什么Controller接收不到前端的请求参数?

查看一下 Axios 文档中关于 POST 请求中参数的说明: axios.post(url[, data[, config]])

所以修改如下:

axios.post('adminEdit/saveOrUpdateShop',{
-    params: { name: shopName, }
+    name: shopName,
})

当然不排除你项目自己改造封装了 post 方法,需要按照 post(url, { queryParams, bodyData }) 这样的方式来传递参数。

你这个post的内容相当于Shop里还有另一个对象Params,Params里面才有id和name
要么把{params:{name:shopName}} 修改成 {name:shopName}
要么在Shop实体类里再加一个对象属性Params,Params的属性是id和name
另外还可以在RequestMapping里再加上一个属性:

produces = "application/json;charset=UTF-8"

来实现报文体校验是不是一个合法的json

回答

相关文章

nuxt2部署静态化和ssr的时候访问首页先报404再出现首页为什么?
`clip-path` 如何绘制圆角平行四边形呢?
多线程wait方法报错?
VUE 绑定的方法如何直接使用外部函数?
vue2固定定位该怎么做?
谁有redis实现信号量的代码,希望借鉴一下?