@RequestBody

@RequestBody 主要用于接收前端传递给后端的json字符串中的数据
通常处理POST或PUT请求,请求体中包含对象数据
示例代码

1
2
3
4
5
6
//添加学生
@PostMapping("/add")
public Result addStudent(@RequestBody StudentDTO studentDTO){
studentService.addStudent(studentDTO);
return Result.success();
}

@RequestParam

@RequestParam 主要用于查询字符串或表单数据中获取单个参数值
一般后面接单个变量,而不是像@RequestBody一样接整个对象
示例代码

1
2
3
4
5
6
//根据id删除学生
@DeleteMapping()
public Result deleteStudent(@RequestParam Long id){
studentService.deleteStudent(id);
return Result.success();
}

使用@RequestParam修饰后面的变量时,Postman中的测试接口需要占位符
1
Http://localhost:8080/admin/student/?id=2

@PathVariable

@PathVariable 用来接收请求路径中占位符的值
示例代码

1
2
3
4
5
6
//根据id删除学生
@DeleteMapping("{id}")
public Result deleteStudent(@PathVariable("id") Long id){
studentService.deleteStudent(id);
return Result.success();
}

用@PathVariable修饰后面的变量时,Postman中的测试接口则不需要占位符
1
Http://localhost:8080/admin/student/2