03请求响应(实体参数、集合参数、时间日期参数和Json参数)

一、介绍

前端传递参数,除了简单的参数,还有其他类型的参数,如日期或者Json格式的,下面我们来说明,对于SpringBoot如何传递该类型的参数。

传递简单参数的教程,可以看这里:02请求响应(简单参数)

二、代码

1.实体参数(用一个类来整体获取,这里用User类举例)

(1)User类

public class User {
    private String name;
    private Integer age;
    private Address address;

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public User() {
    }

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public Integer getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(Integer age) {
        this.age = age;
    }

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

(2) 控制器获取参数

@RequestMapping("/simplePojo")
    public String simplePojo(User user){
        System.out.println(user);
        return "OK";
    }

2.集合参数

@RequestMapping("/listParam")
    //集合要加一个注解
    public String listParam(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "可以啦";
    }

3. 时间日期参数

@RequestMapping("/dateParam")
    //参数前面要加注解指定时间日期格式
    public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
        System.out.println(updateTime);
        return "OOKK啦";
    }

4.Json参数

@RequestMapping("/jsonParam")
    //参数前面要加注解标识为Json格式数据
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return "OK啦";
    }
在Spring Boot中,可以使用注解`@RestController`来定义一个控制器类,其中的方法可以处理HTTP请求并返回响应。如果你想要返回一个集合作为响应,可以使用`ResponseEntity`类来封装。 首先,你需要在方法上使用一个合适的HTTP请求注解,如`@GetMapping`、`@PostMapping`等,来定义处理的HTTP方法和路径。然后,你可以在方法体内创建一个集合对象,并将其作为参数传递给`ResponseEntity`的构造函数。最后,将`ResponseEntity`对象作为方法的返回值即可。 下面是一个简单的示例: ```java import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class MyController { @GetMapping("/data") public ResponseEntity<List<String>> getData() { List<String> dataList = new ArrayList<>(); dataList.add("Item 1"); dataList.add("Item 2"); dataList.add("Item 3"); return ResponseEntity.ok(dataList); } } ``` 在上面的示例中,`getData`方法使用了`@GetMapping("/data")`注解来处理GET请求,并返回一个包含字符串的集合。通过`ResponseEntity.ok(dataList)`将集合封装为响应实体并返回。 当你发送GET请求到`/data`路径时,将会收到如下响应: ```json ["Item 1", "Item 2", "Item 3"] ``` 这是一个包含三个字符串项的JSON数组。根据你的需求,你可以返回不同类型的集合,如`List<Integer>`、`Set<String>`等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值