参数传递2
普通参数POJO类型参数嵌套POJO类型参数数组类型参数集合类型参数参数种类: 普通参数 POJO类型参数 嵌套POJO类型参数 数组类型参数 集合类型参数 如果形参和传参名称不一样会怎么样 只有名称一样才能映射名称不同不能映射。不能传递 。 Controller RequestMapping(/user) public class UserController { RequestMapping(/commonParam) ResponseBody public String commonParam(String name,int age){ System.out.println(普通参数传递 namename); System.out.println(普通参数传递 ageage); return {module:common param}; } } 当参数名称是:name,age 时如果postman传递其他名称则不能接受. Controller RequestMapping(/user) public class UserController { RequestMapping(/commonParam) ResponseBody public String commonParam(String username,int age){ System.out.println(普通参数传递 nameusername); System.out.println(普通参数传递 ageage); return {module:common param}; } } #如何解决这个问题? Controller RequestMapping(/user) public class UserController { RequestMapping(/commonParam) ResponseBody public String commonParam(RequestParam(name) String username, int age){ System.out.println(普通参数传递 namename); System.out.println(普通参数传递 ageage); return {module:common param}; } } 通过注解 RequestParam(name) String username将传递进来的 name 传递到 username; #我们在这里创建了User类; package com.ycl.domain; public class User { private String name; private int age; Override public String toString(){ return User{ name name \ ,age age }; } public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } } #GET请求传入的参数传递到User类; RequestMapping(/pojoParam) ResponseBody public String pojoParam(User user){ System.out.println(pojo参数传递 user user); return {module:pojo param}; } #返回值就是User对象。 GET: localhost:80/user/pojoParam?nameyclage15 pojo参数传递 userUser{nameycl,age15} #User类 package com.ycl.domain; public class User { private String name; private int age; private Address address; #引用类型; Override public String toString() { return User{ name name \ , age age , address address }; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address address; } public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } } #Address类 package com.ycl.domain; public class Address { private String province; private String city; Override public String toString(){ return Address{ province province \ ,city city \ }; } public String getProvince() { return province; } public void setProvince(String province) { this.province province; } public String getCity() { return city; } public void setCity(String city) { this.city city; } }如果传入的是类则输入参数必须是 address.city, address.province;数组传递:RequestMapping(/arrayParam) ResponseBody public String arrayParam(String[] likes){ System.out.println(pojo参数传递 likes Arrays.toString(likes)); return {module:pojo contain pojo param}; }对于数组Key必须一样不一样无法接收。#集合传递#集合传递; //集合参数 RequestMapping(/listParam) ResponseBody public String listParam(RequestParam ListString likes){ System.out.println(集合参数传递 likes likes); return {module:list param}; }如果是集合不能直接写:ListString likes,而且前面需要添加:RequestParam;将传入的参数传给集合否则会报方法不存在。