合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
**1. js对象:`{k1: v1, ..., kn,: vn}`** (1)前端。 ```js $.ajax({ url: "http://localhost:8080/user/get6", type: "post", async: true, dataType: "json", //1. js对象 data: {"userName": "张三", "password": "1234567"}, success: (data) => { console.log(data) //{"userName":"张三","password":"1234567"} } }) ``` (2)后端。 ```java @RestController @RequestMapping("/user") public class UserController { /** * ==========直接用实体类接收================= * 1. 前端是否传递参数是可选的。 */ @PostMapping("/get5") public Object get5(User user) { System.out.println(user); //User(userName=张三, password=1234567) return user; } /** * ==========注解@RequestParam与Map组成接收================= * 1. 不能指定注解 @RequestParam 的 name 属性。 * 2. 前端是否传递参数是可选的。 */ @PostMapping("/get6") public Object get6(@RequestParam Map<String, Object> user) { System.out.println(user); //{userName=张三, password=1234567} return user; } } ``` <br/> **2. js对象:`{k1: [v1, ..., vn]}`** (1)前端。 ```js $.ajax({ url: "http://localhost:8080/user/get7", type: "post", async: true, dataType: "json", //1. js对象 data: {"strs": ["one", "two", "three"]}, success: (data) => { console.log(data) //["one","two","three"] } }) ``` (2)后端。 ```java @RestController @RequestMapping("/user") public class UserController { /** * ==========(1)strs================= * 1. 指定注解 @RequestParam 的 name 属性类似 strs[]。 * 2. 注解 @RequestParam 的 required 属性是起作用的。 * 3. strs[] 这样的写法只能用于基本数据类型,不能用于引用类型。 */ @PostMapping("/get7") public Object get7(@RequestParam("strs[]") String[] strs) { System.out.println(Arrays.asList(strs)); //[one, two, three] return strs; } /** * ==========(2)strs================= * 1. 指定注解 @RequestParam 的 name 属性类似 strs[]。 * 2. 注解 @RequestParam 的 required 属性是起作用的。 * 3. strs[] 这样的写法只能用于基本数据类型,不能用于引用类型。 */ @PostMapping("/get8") public Object get8(@RequestParam("strs[]") List<String> strs) { System.out.println(strs); //[one, two, three] return strs; } } ``` <br/> **3. js对象:`{k1: [{}, ..., {}]}`** (1)前端。 ```js $.ajax({ url: "http://localhost:8080/user/get9", type: "post", async: true, dataType: "json", //1. js对象 data: { "users": [{"userName": "张三", "password": "1234567"}, {"userName": "李四", "password": "7654321"}] }, success: (data) => { console.log(data) //{"users[0][userName]":"张三","users[0][password]":"1234567" // ,"users[1][userName]":"李四","users[1][password]":"7654321"} } }) ``` (2)后端。 ```java @RestController @RequestMapping("/user") public class UserController { /** * ==========Map接收================= * 1. 不能指定注解 @RequestParam 的 name 属性。 * 2. 前端是否传递参数是可选的。 */ @PostMapping("/get9") public Object get9(@RequestParam Map<String, Object> users) { System.out.println(users); //{users[0][userName]=张三, users[0][password]=1234567, users[1][userName]=李四, users[1][password]=7654321} return users; } } ```