39.1 @Requestparam的get请求
@GetMapping("/id_1")
public String getId1(@RequestParam("id") String id){
System.out.println("id ==========" + id);
return "id_1请求成功"
}
/** =========== 解析 ========
这里请求的数据 id 会被放在 url 的参数中进行传输,
如:http://localhost:8080/user/id_1?id=1111111
*/
39.2 @PathVariable的get请求
@GetMapping("/id_2/{id}")
public String getId2(@PathVariable("id") String id){
System.out.println("id ==========" + id);
return "id_2请求成功"
}
/** =========== 解析 ========
这里请求的数据 id 会被放在 url 的地址中进行传输,
如:http://localhost:8080/user/id_2/22222
*/
39.3 @Requestparam的post请求
@PostMapping("/id_3")
public String getId3(@RequestParam("id") String id){
System.out.println("id ==========" + id);
return "id_3请求成功:" + id;
}
/** =========== 解析 ========
这里请求的数据 id 会被放在 请求体 中进行传输,
如:http://localhost:8080/user/id_3
传输的参数放到请求体中!!!!!!
*/
使用请求体的Body进行参数的传输(body ----- form-data)!!!
使用请求体的Body进行参数的传输(Body------x-www-form-urlencoded)
39.4 @PathVariable的post请求
@PostMapping("/id_4/{id}")
public String getId4(@PathVariable("id") String id){
System.out.println("id ==========" + id);
return "id_4请求成功:" + id;
}
/** =========== 解析 ========
这里请求的数据 id 会被放在 url 的地址中进行传输,
如:http://localhost:8080/user/id_4/23145
*/
结论:不管是Get还是Post请求都是在 url 中传输数据!!!!
39.5 总结
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEc9eqZC-1656169991240)(D:\typora\images\image-20220430144514614.png)]
注意
- 使用@RequestParam的Get请求,但是数据却放在请求体中,虽然可以运行,但是最好别这样做!因为Get请求表示参数数据最好放请求头中。
- 同理使用@RequestParam的Post请求,但是数据却放在请求头中,虽然可以运行,但是最好别这样做!因为Post请求表示参数数据最好放请求体中。
39.6 @RequestBody请求复杂对象 [Post]
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)。
所以@RequestBody对应的是Post请求。
用于请求复杂对象
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int age;
private String name;
private String address;
}
@PostMapping("getUser1")
public String getUser5(@RequestBody User user){
System.out.println(user);
return "请求成功:" + user;
}
请求成功
39.7@Requestparam 请求复杂对象[Post]
Requestparam 无法请求复杂参数,只能请求基本数据类型,int、String、Long、List等等
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int age;
private String name;
private String address;
}
@PostMapping("getUser2")
public String getUser6(@Requestparam User user){
System.out.println(user);
return "请求成功:" + user;
}