vue-java (Get / Post 传参)

我在controller层传的参数是List时报No primary or single unique constructor found for interface java.util.List
于是加了@RequestParam,结果报Required request parameter ‘pointlist’ for method parameter type List is not present,是因为@RequestParam不支持post请求


| 注解          | 支持的类型  | 支持的请求类型       | 支持的Content-Type | 请求示例  |
| @PathVariable | url       | GET                  | 所有              | /test/{id} |
| @RequestParam | url       | GET                  | 所有              | /test?id=1 |
| @RequestBody  | url       |POST/PUT/DELETE/PATCH | json              | {“id”:1}   |

Required request body is missing

大概意思是我们要从前端获取的数据丢失了Required request body is missing
这里我用了@RequestBody这个注解,这个注解的大概作用,就是把前端提交的数据包装成一个json格式的数据给我们返回到后端,后端再对数据进行处理。所以数据丢失的原因应该是在前端,到前端看看该数据的返回过程。
用swagger调试时没有任何问题,可见问题出现再前端
网上找了很久 终于发现了错误


前端数据没有用data:对其进行定义,前端VUE返回的数据如果要以json的形式返回的话,必须用data:进行定义,否则会报错,于是我在前端api中添加了data:returnData


addFun(returnData){
        return request({
            url:``,
            method: 'post',
            //returnData条件对象  后端使用RequestBody获取数据 
            //data表示将对象转换成json进行传递到接口里面
            data:returnData
          })
    },

https://blog.csdn.net/weixin_44778397/article/details/124041578

https://blog.csdn.net/m0_49161353/article/details/124156909

posted @ 2022-10-18 16:10  寒冷的雨呢  阅读(631)  评论(0编辑  收藏  举报