我想在 在前端 axios传递 shop_Request对象的数组
在springboot接收 list 要怎么办呢
看了一上午网上的办法还是失败 绝望呀,可以写一下吗
axios传复杂数据类型,你用qs就行了,现在版本的axios自带qs,在用axios的地方import qs就可以用它了,他会处理数据的,你用了之后可以看看你在后台接收到的是什么。
我的JAVA后端都是拿的我qs处理后的数据。
之前我都是把复杂数据类型用JSON.stringify字符串化再传递的。
建议楼主使用fastjson解析参数:
pom添加依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
controller方法添加@ResquestBody注解,可以参考我的,参数类型为JSONArray(JSON数组),这样就可以解析包含对象的数组了
我的测试用例:
前端请求:
data=[{'Name':'lee','Age':'23'},{'Name':'zhang','Age':'22'}]
axios.post('http://localhost:8080/test', data)
.then(res => {
document.write(res.data)
})
controller:
@RestController
public class TestData {
@RequestMapping("/test")
public String showMessage(@RequestBody JSONArray paramArray) {
JSONObject O1 = paramArray.getJSONObject(0);
JSONObject O2 = paramArray.getJSONObject(1);
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Name :" + O1.getString("Name"))
.append(" ")
.append("Age: " + O1.getString("Age"))
.append("&&")
.append("Name: " + O2.getString("Name"))
.append(" ")
.append("Age: "+O2.getString("Age"));
return stringBuffer.toString();
}
}
如果楼主感觉我的方法可以解决你的问题,可以给我C币吗?(^^)