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);
    }

会输出前端装填的数据

前端的数据如下

请注意,前端和后端的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

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

数组传值

首先我们完善后端的方法

@GetMapping("/shuzu")
public  void  getName5(String[] name){
     for (int i = 0; i <name.length;i++){
         System.out.println(name[i]);
     }
}

前端如下

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

输出结果如下

 

集合的传递

     s首先给出后端代码

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

前端代码

为什么出错呢?

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

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

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

只要添加

@RequestParam   就可以了

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值