请问 springboot 如何接收 json 数组?比如根据 ID 批量删除?

2020-07-12 10:05:45 +08:00
 Vimax

请问根据 ID 批量删除,前端传入的是 JSON 数组,比如

[1,2,3]

传统在 URL 上传参是可以直接通过数组接收,但是通过 JSON 传参,则需要使用 @RequstBody 接收,但是接收的数据类型设置为什么呢?

前端在数组里面传对象,也可以接收

[{"id:1},{"id":2}]

但是后端如何接收

[1,2,3]

这样的 json 数据?

3727 次点击
所在节点    Java
8 条回复
xDaShen
2020-07-12 10:09:43 +08:00
List<Integer>
magiclz233
2020-07-12 10:13:48 +08:00
List<String>或者 List<Integer>, 里面传的是你的要删除的 id 集合, 如果是[{},{}]这种形式,List<Bean>
oneisall8955
2020-07-12 12:02:30 +08:00
印象 @RequestBody int[] ids 可以好像,List<Intege> ids 外面需要包一层?
具体忘记了(#-.-)
zhuawadao
2020-07-12 12:07:40 +08:00
@JsonObject 试试可以吗
paragon
2020-07-12 12:33:36 +08:00
RequestEntity<List<Long>> ids;
ids.getBody();
ilumer
2020-07-12 16:44:54 +08:00
这是 spring mvc,在 body 里面直接接收数组
{
private List<Long> ids;
}
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestbody
EminemW
2020-07-12 18:08:50 +08:00
你应该用 json 格式。。
{
"id":[]
}
cnzjl
2020-07-12 21:55:18 +08:00
get 请求前端传递字符串用,分割, post 请求前端直接传递数组如:[1,2,3,4] ,直接 @RequestBody 就好了
```java
@RequestMapping(value = "array",method = RequestMethod.POST)
@ResponseBody
public String array(@RequestBody List<Integer> ids){
return ids.toString();
}
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689281

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX