请求响应中的简单实体参数和集合数组参数的传递

简单实体参数的封装

创建一个usre类

package com.ming.pojo;
​
public class User {
    private String name;
    private int 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;
    }
​
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
​

通过user对象 来传递简单的实体参数

package com.ming.controller;
​
import com.ming.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
​
​
​
@RestController
public class Requsetcontroller {
​
//    @RequestMapping("/simpleParam")
//    public String simpleParam(@RequestParam(name="name",required = false) String username, Integer age){
//        System.out.println(username+":"+age);
//        return "OK";
//    }
    @RequestMapping("simplepojo")
    public String simplepojo(User user){
        System.out.println(user);
        return "ok";
    }
}
​

在postman里面用get运行 http://localhost:8080/simplepojo?name=张三&age=18 控制台返回ok并且在Java虚拟机返回相应数据

复杂实体类的封装

创建一个address类

package com.ming.pojo;
​
public class Address {
    private String province;
    private String 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;
    }
​
    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }
}
​

再写一个user类里面包含address

package com.ming.pojo;
​
public class User {
    private String name;
    private int age;
    private 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;
    }
​
    public Address getAddress() {
        return address;
    }
​
    public void setAddress(Address address) {
        this.address = address;
    }
​
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }
}
​

再将控制类的代码不变

package com.ming.controller;
​
import com.ming.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
​
​
​
@RestController
public class Requsetcontroller {
​
//    @RequestMapping("/simpleParam")
//    public String simpleParam(@RequestParam(name="name",required = false) String username, Integer age){
//        System.out.println(username+":"+age);
//        return "OK";
//    }
    @RequestMapping("simplepojo")
    public String simplepojo(User user){
        System.out.println(user);
        return "ok";
    }
​
}

然后再在postman中输入 http://localhost:8080/simplepojo?name=张三&age=18&address.province=河南&address.city=郑州 并运行

idea控制台返回相应的数据

使用数组封装

直接在控制类中写

package com.ming.controller;
​
import com.ming.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
​
import java.util.Arrays;
​
​
@RestController
public class Requsetcontroller {
​
//    @RequestMapping("/simpleParam")
//    public String simpleParam(@RequestParam(name="name",required = false) String username, Integer age){
//        System.out.println(username+":"+age);
//        return "OK";
//    }
//    @RequestMapping("simplepojo")
//    public String simplepojo(User user){
//        System.out.println(user);
//        return "ok";
//    }
        @RequestMapping("simplepojo")
    public String simplepojo(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "ok";
    }
​
}
​

在postman里面传递相应的参数

然后在java控制台返回

使用集合来封装

直接在控制类书写 注意传递是形参@RequestParam List<String> hobby要加@RequestParam

package com.ming.controller;
​
import com.ming.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
​
import java.util.Arrays;
import java.util.List;
​
​
@RestController
public class Requsetcontroller {
​
//    @RequestMapping("/simpleParam")
//    public String simpleParam(@RequestParam(name="name",required = false) String username, Integer age){
//        System.out.println(username+":"+age);
//        return "OK";
//    }
//    @RequestMapping("simplepojo")
//    public String simplepojo(User user){
//        System.out.println(user);
//        return "ok";
//    }
        @RequestMapping("simplepojo")
    public String simplepojo(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "ok";
    }
​
}
​

在postman输入 http://localhost:8080/simplepojo?hobby=java&hobby=c++&hobby=篮球

idea控制台输出

数组集合参数需要注意

数组:请求参数名和形参变量名相同,可以直接使用封装

集合:请求参数名与形参变量名相同,通过@RequestParam 绑定 参数关系

@RequestParam:它的作用是将请求参数绑定到方法的参数上。

@RequestParam(“参数名”),其中参数名是请求中的参数名称。这种写法声明了要绑定的参数名,同时也可以指定一些可选的属性,例如默认值和是否必需。

  • 37
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值