• SpringBoot请求响应


    目录

    一、简单参数

    原始方式(过于繁琐了解即可)

    SpringBoot方式

    二、实体参数

     三、数组集合参数

    四、日期参数

    五、JSON参数

    六、路径参数


    一、简单参数

    原始方式(过于繁琐了解即可)

    在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取。

    1. @RequestMapping("/simpleParam")
    2. public String simpleParam(HttpServletRequest request){
    3. String name=request.getParameter("name");
    4. String ageStr=request.getParameter("age");
    5. int age=Integer.parseInt(ageStr);
    6. System.out.println(name+","+age);
    7. return "ok";
    8. }
    1. public String simpleParam(HttpServletRequest request):这是一个公共方法,返回类型为String。它接收一个HttpServletRequest类型的参数,用于获取HTTP请求的信息。

    2. String name=request.getParameter("name");:从HTTP请求中获取名为"name"的参数值,并将其赋值给变量name

    3. int age=Integer.parseInt(ageStr);:将字符串类型的ageStr转换为整数类型,并赋值给变量age

    SpringBoot方式

    简单参数:参数名与形参变量名相同,定义形参即可接收参数。

    1. @RequestMapping("/simpleParam")
    2. public String simpleParam(String name,Integer age){
    3. System.out.println(name+","+age);
    4. return "ok";
    5. }

    如果请求参数名 不一致,会导致接收失败,但是不会报错。 可以使用@RequestParam来完成映射。

    1. @RequestMapping("/simpleParam")
    2. public String simpleParam(@RequestParam(name="name") String username, Integer age){
    3. System.out.println(username+","+age);
    4. return "ok";
    5. }

     @RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。如果该参数是可选的必须将required属性设置为false。

    二、实体参数

    User实体类代码如下:

    1. package com.example.demo.pojo;
    2. public class User {
    3. private String name;
    4. private Integer age;
    5. public User(String name, Integer age) {
    6. this.name = name;
    7. this.age = age;
    8. }
    9. public User() {
    10. }
    11. @Override
    12. public String toString() {
    13. return "User{" +
    14. "name='" + name + '\'' +
    15. ", age=" + age +
    16. '}';
    17. }
    18. public String getName() {
    19. return name;
    20. }
    21. public void setName(String name) {
    22. this.name = name;
    23. }
    24. public Integer getAge() {
    25. return age;
    26. }
    27. public void setAge(Integer age) {
    28. this.age = age;
    29. }
    30. }

    简单实体对象:请求参数与形参对象属性名相同,定义POJO接收即可。 

    1. @RequestMapping("/simplePojo")
    2. public String simplePojo(User user){
    3. System.out.println(user);
    4. return "ok";
    5. }

    复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。

     三、数组集合参数

    数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数。

    1. @RequestMapping("/arrayParam")
    2. public String arrayParam(String [] hobby){
    3. System.out.println(Arrays.toString(hobby));
    4. return "ok";
    5. }

    集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系,默认情况下多个值封装在数组中。

    1. @RequestMapping("/listParam")
    2. public String listParam(@RequestParam List<String> hobby){
    3. System.out.println(hobby);
    4. return "ok";
    5. }

    四、日期参数

    日期参数:使用@DateTimeFormat注解完成日期参数格式转换,指定前端传递日期的格式。

    1. @RequestMapping("/dateParam")
    2. public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
    3. System.out.println(updateTime);
    4. return "ok";
    5. }

    五、JSON参数

    JSON参数:JSON数据键名与形参对象属性名形同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识。

    1. @RequestMapping("/jsonParam")
    2. public String jsonParam(@RequestBody User user){
    3. System.out.println(user);
    4. return "ok";
    5. }

    六、路径参数

    路径参数:通过请求URL直接传递参数,使用{...}来表示该路径参数,需要使用@PathVariable获取路径参数。(可获取多个参数,直接在后面添加/{...}/{...})

    1. @RequestMapping("/path/{id}")
    2. public String pathParam(@PathVariable Integer id){
    3. System.out.println(id);
    4. return "ok";
    5. }

  • 相关阅读:
    云计算基础-0
    Spring Boot配置文件(YAML & Properties)总结
    Visual Studio 2022 编译新版 Mission Planner 地面站
    293_C++_告警类
    docker 部署jenkins + sonarqube + postgresql 代码扫描
    千万播放竟有通用公式?B站被小看的爆款机会!
    一行代码解决WINFORM因为系统放大导致的布局混乱
    测绘屠夫报表系统V1.0.0-beta
    2023.9.19 关于 数据链路层 和 DNS 协议 基本知识
    山西电力市场日前价格预测【2023-09-23】
  • 原文地址:https://blog.csdn.net/2302_77758423/article/details/139718102