在写delete方法的时候,出现了bug
于是将@RequestParam换成@PathVariable
两者有何区别?
pathVariable和RequestParam的区别
在Spring MVC框架中,@PathVariable 和 @RequestParam 是两种用于从HTTP请求中获取参数的注解,它们的区别在于:
-  @PathVariable: - 作用:用于从URL路径模板中的变量提取值。当你定义了一个RESTful风格的路由,其中包含动态部分(通常用花括号 {}包裹),比如/users/{id},那么可以通过@PathVariable("id")来捕获到URL中与{id}对应的实际值。
- 示例:  @GetMapping("/users/{userId}") public User getUser(@PathVariable("userId") Long userId) {// 使用userId来查找并返回用户对象 }
- 特点:适用于URL路径部分的参数提取。
 
- 作用:用于从URL路径模板中的变量提取值。当你定义了一个RESTful风格的路由,其中包含动态部分(通常用花括号 
-  @RequestParam: - 作用:用于从HTTP请求的方法参数(如GET请求的查询字符串或POST请求的表单数据)中提取指定名称的参数值。
- 示例:    
 对于GET请求,URL可能是@GetMapping("/users") public User getUser(@RequestParam("userId") Long userId) {// 使用userId来查找并返回用户对象 }/users?userId=123;对于POST等方法,请求体可能包含类似userId=123的键值对。
- 特点:适用于查询字符串、表单数据和多部分请求参数的提取,并且可以设置是否必填(required属性)、默认值(defaultValue属性)等。
 
总结来说,@PathVariable 主要用于处理URL路径中的动态部分,而 @RequestParam 则是处理请求参数,包括查询字符串和某些类型的请求体中的参数。



