SpringBoot之JSON参数,路径参数的详细解析

发布时间:2023年12月19日

1.6 JSON参数

在学习前端技术时,我们有讲到过JSON,而在前后端进行交互时,如果是比较复杂的参数,前后端通过会使用JSON格式的数据进行传输。 (JSON是开发中最常用的前后端数据交互方式)

我们学习JSON格式参数,主要从以下两个方面着手:

  1. Postman在发送请求时,如何传递json格式的请求参数

  2. 在服务端的controller方法中,如何接收json格式的请求参数

Postman发送JSON格式数据:

服务端Controller方法接收JSON格式数据:

  • 传递json格式的参数,在Controller中会使用实体类进行封装。

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

  • @RequestBody注解:将JSON数据映射到形参的实体类对象中(JSON中的key和实体类中的属性名保持一致)

实体类:Address

public class Address {
 ? ?private String province;
 ? ?private String city;
 ? ?
    //省略GET , SET 方法
}

实体类:User

public class User {
 ? ?private String name;
 ? ?private Integer age;
 ? ?private Address address;
 ? ?
 ? ?//省略GET , SET 方法
} ?
 ?

Controller方法:

@RestController
public class RequestController {
 ? ?//JSON参数
 ? ?@RequestMapping("/jsonParam")
 ? ?public String jsonParam(@RequestBody User user){
 ? ? ? ?System.out.println(user);
 ? ? ? ?return "OK";
 ?  }
}

Postman测试:

1.7 路径参数

传统的开发中请求参数是放在请求体(POST请求)传递或跟在URL后面通过?key=value的形式传递(GET请求)。

在现在的开发中,经常还会直接在请求的URL中传递参数。例如:

http://localhost:8080/user/1        
http://localhost:880/user/1/0

上述的这种传递请求参数的形式呢,我们称之为:路径参数。

学习路径参数呢,主要掌握在后端的controller方法中,如何接收路径参数。

路径参数:

  • 前端:通过请求URL直接传递参数

  • 后端:使用{…}来标识该路径参数,需要使用@PathVariable获取路径参数

Controller方法:

@RestController
public class RequestController {
 ? ?//路径参数
 ? ?@RequestMapping("/path/{id}")
 ? ?public String pathParam(@PathVariable Integer id){
 ? ? ? ?System.out.println(id);
 ? ? ? ?return "OK";
 ?  }
}

Postman测试:

传递多个路径参数:

Postman:

Controller方法:

@RestController
public class RequestController {
 ? ?//路径参数
 ? ?@RequestMapping("/path/{id}/{name}")
 ? ?public String pathParam2(@PathVariable Integer id, @PathVariable String name){
 ? ? ? ?System.out.println(id+ " : " +name);
 ? ? ? ?return "OK";
 ?  }
}

文章来源:https://blog.csdn.net/qq_69748833/article/details/135026675
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。