Required request parameter ‘ids‘ for method parameter type List is not present]

发布时间:2024年01月14日

在写delete方法的时候,出现了bug

于是将@RequestParam换成@PathVariable

两者有何区别??

pathVariable和RequestParam的区别

在Spring MVC框架中,@PathVariable?和?@RequestParam?是两种用于从HTTP请求中获取参数的注解,它们的区别在于:

  1. @PathVariable:

    • 作用:用于从URL路径模板中的变量提取值。当你定义了一个RESTful风格的路由,其中包含动态部分(通常用花括号?{}?包裹),比如?/users/{id},那么可以通过?@PathVariable("id")?来捕获到URL中与{id}对应的实际值。
    • 示例:
       
      @GetMapping("/users/{userId}")
      public User getUser(@PathVariable("userId") Long userId) {
          // 使用userId来查找并返回用户对象
      }
    • 特点:适用于URL路径部分的参数提取。
  2. @RequestParam:

    • 作用:用于从HTTP请求的方法参数(如GET请求的查询字符串或POST请求的表单数据)中提取指定名称的参数值。
    • 示例:
       ? 
      @GetMapping("/users")
      public User getUser(@RequestParam("userId") Long userId) {
          // 使用userId来查找并返回用户对象
      }
      对于GET请求,URL可能是?/users?userId=123;对于POST等方法,请求体可能包含类似?userId=123?的键值对。
    • 特点:适用于查询字符串、表单数据和多部分请求参数的提取,并且可以设置是否必填(required属性)、默认值(defaultValue属性)等。

总结来说,@PathVariable?主要用于处理URL路径中的动态部分,而?@RequestParam?则是处理请求参数,包括查询字符串和某些类型的请求体中的参数。

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