springboot(6)之前端传递参数的方式 普通 集合 数组

实体类传递

首先我们在后端定义一个实体类,通过lombok插件重写 有参 无参 get set       toString  方法,

然后前端发送数据,后端就会自动收到,然后属性填写

后端代码如下

@AllArgsConstructor
@Data
@NoArgsConstructor
public class role {
    private   String  name;
    private   String   skill;
    private  Integer  age;

    @Override
    public String toString() {
        return "role{" +
                "name='" + name + '\'' +
                ", skill='" + skill + '\'' +
                ", age=" + age +
                '}';
    }
}



实体类

然后是对应的映射

    @GetMapping("/role")
    public  void  getName4(role role){
        System.out.println(role);
    }

会输出前端装填的数据

前端的数据如下

springboot(6)之前端传递参数的方式 普通 集合 数组_第1张图片

请注意,前端和后端的name必须一样

但是前端后端不一样的话,我们可以使用 @RequestParam()来绑定前后的关系

嵌套的实体类 

 所谓嵌套实体类,请看如下结构

我们首先给出一个address类


@AllArgsConstructor
@NoArgsConstructor
@Data
public class address {

    private   String   address;


}

然后我们在 role类中定义它

@AllArgsConstructor
@Data
@NoArgsConstructor
public class role {
    private   String  name;
    private   String   skill;
    private  Integer  age;
    private   address address;
    @Override
    public String toString() {
        return "role{" +
                "name='" + name + '\'' +
                ", skill='" + skill + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }
}

目标,在前端传递四个数据,包括 address

springboot(6)之前端传递参数的方式 普通 集合 数组_第2张图片

通过 address.address可以传递数据给后端

数组传值

首先我们完善后端的方法

@GetMapping("/shuzu")
public  void  getName5(String[] name){
     for (int i = 0; i  
  

前端如下

springboot(6)之前端传递参数的方式 普通 集合 数组_第3张图片

请注意:我们需要的是  只要前端的name  和后端的数组名一致就可以了

输出结果如下

  springboot(6)之前端传递参数的方式 普通 集合 数组_第4张图片

集合的传递

     s首先给出后端代码

@GetMapping("/jihe")
 public  void  getName6(List name){
 for (   String    i   : name){
     System.out.println(i);
 }

前端代码

springboot(6)之前端传递参数的方式 普通 集合 数组_第5张图片

为什么出错呢?

java.lang.IllegalStateException: No primary or single unique constructor found for interface java.util.List

大致是  前端传递数据,但是后端不知道这是数据,于是去创建集合,但是创建失败

于是我们只需要告诉后端,前面传递过来的是一个集合数据就可以了

只要添加

@RequestParam   就可以了

 

 

 

 

你可能感兴趣的:(springboot,spring,boot,java,spring)