踩坑小记,前端传List列表给后端,后端的接收问题,List类型必须使用Post方式提交以及使用@PostMapping_+ @RequestBody接收

背景是这样,前端有一个级联选择器,在选择后根据分类不同,在后端查一个列表;上边框选择不同的分类,下边选择的列表不同

 

 我想把选好的参数作为一个列表传到后端

既然是查询,就用Get请求方式发送,但是后端使用 @GetMapping+@RequestParam始终不能获取到。

但是将参数列表参数一个一个传,后端却可以接收到。封装成列表就不行。

Required request parameter ‘xxx‘ for method parameter type xxxx is not present

报参数不存在的错误。我不确定是不是早期的SpringMVC支持这样拿参数,网上搜索使用Get Mapping接收List参数类型也有结果,但是试了试之后并不能解决。

所以综上所述,如果想传List类型的参数到后端,两个办法

1、拆开 传 以GET方式,后端@GetMapping+@RequestParam接收。

2、以Post方式传,后端创建dto @PostMapping+@RequestBody 接收。 

 

 

7-22更新

问题解决,是因为的特殊数据类型可监视数组,需要把这个可监视数组转换成JS数组

[ob: Observer]: 可视察数组,不能通过tableData === []这样判断是否为空,需要使用数组的长度判断才有效:tableData.length > 0

[ob: Observer]转成正常数组:
1、Object.assign({},this.tableData)
2、JSON.parse(JSON.stringify(this.tableData)

如果是这种数组类型[],可以直接操作:tableData === []或者tableData.length > 0
参考。

https://blog.csdn.net/agua001/article/details/111352755

posted @ 2022-07-18 23:33  Timeouting  阅读(6899)  评论(0编辑  收藏  举报