restful风格关于前台传json数组后台用@RequsetBody接参

第一种:前台传json数组后台用@RequsetBody接参

@RequestBody这个注解将前台传来的json数据转化为对象类型
**eg1:**第一种前台传数组在这里插入图片描述
注意:
通过ajax把json数组传到后台需要用@RequestBody接收
1、把数据封装成json数组
2、把数据通过data:JSON.stringify(ids),传参
3、 headers: {
‘Content-Type’: ‘application/json’
},
设置ajax发送方式为json
4、后台通过@RequestBody Integer[] ids 接收

 var data = checkStatus.data;
                    var ids = [];
                    $.each(data, function (index, item) {
                        ids.push(item.emp_id);
                    })

                    $.ajax({
                        // 设置请求为json  后台就ok  参数就能@RequestBody 对上
                        headers: {
                            'Content-Type': 'application/json'
                        },
                        url: "/emp/deleteAll",
                        data:JSON.stringify(ids),
                        // data: JSON.stringify(ids),
                        dataType: "json",
                        type: "post",
                        //通过ajax把数组传到后台
                        // traditional: true,
                        success: function (dataInfo) {
                            if (dataInfo.code == "200") {
                                layer.msg(dataInfo.msg);
                                //重载表格
                                tablei.reload();
                            } else {
                                layer.msg(dataInfo.msg);
                            }
                        }
                    })

                    break;

在这里插入图片描述

第二种:前台传数组后台用@RequsetBody接参

前台通过ajax发送请求,前台ajax添加,后台就不用加**@RequestBody**这个注解

  //通过ajax把数组传到后台
      traditional: true,

在这里插入图片描述

**eg2:**前台传来的json数据传到后台
在这里插入图片描述

第三种:前台传数组后台get请求用@RequsetParam接参

前台请求URL

http://127.0.0.1:8080/startCntr?ids=1&ids=2
在这里插入图片描述

第四种:前台传数组后台get请求用@RequsetParam接参

前台请求URL

http://127.0.0.1:8080/startCntr?ids=1,2
在这里插入图片描述

Spring MVC 后台处理 JSON 数组通常涉及到两个关键部分:控制器(Controller)接收到请求,并将数据绑定到模型(Model),然后视图(View)负责渲染结果。 1. 创建Controller: 在Spring MVC中,你可以创建一个RESTful风格的Controller,比如使用`@RestController`注解。这个类可以有一个HTTP方法(如`@PostMapping`或`@GetMapping`),用于接受POST请求并解析JSON数据。 ```java @RestController public class YourController { @PostMapping(&quot;/api/your-endpoint&quot;) public ResponseEntity<?> handleJsonArray(@RequestBody JSONArray jsonArray) { // 对jsonArray进行操作... // 然后返回响应... return new ResponseEntity<>(result, HttpStatus.OK); } } ``` 在这里,`@RequestBody`表示从请求主体中获取数据,`JSONArray`是来自Spring自带的`org.springframework.http.converter.json`包的,它用来解析接收到的JSON字符串为Java的数组。 2. 数据绑定: 接收的JSON数据需要转换为Java对象,例如一个自定义的实体类(通常是泛型的List)。如果数组元素对应于实体类的实例,可以用Jackson库等帮助转换。 ```java dataClass Item { private String name; // getters and setters } List<Item> items = new ArrayList<>(); for (Object obj : jsonArray) { Item item = new ObjectMapper().readValue(obj.toString(), Item.class); items.add(item); } ``` 3. 返回响应: 最后,你需要构建一个响应对象,包含处理后的数据,可以使用`ResponseEntity`来携带HTTP状态码和内容。 4. 测试:使用curl或Postman之类的工具发送POST请求,附带JSON数组,验证是否能成功接收并处理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值