当前位置: 首页 > 知识库问答 >
问题:

@RequestParam和@PathVariable[duplicate]之间有什么区别

车思淼
2023-03-14

我的理解是请求参数是方法传递所需的id,而path变量说这个变量应该在请求过程中找到

   @PreAuthorize("hasRole('ROLE_COACH')")

    @PostMapping(value = "/courses/{courseId}/background/update")

    @ResponseStatus(HttpStatus.ACCEPTED)

    @ResponseBody

    public CourseLiteInfo updateBackground(@RequestParam("file") MultipartFile file,

                                           @PathVariable(value = "courseId") Long courseId) throws IOException {



        return new CourseLiteInfo(courseService.updateBackground(courseId, file));
}

共有3个答案

姬宝
2023-03-14

@QueryParam用于访问URL的查询字符串中的键/值对(在?)之后的部分。例如在url中http://stackoverflow.com/questions?q=query,您可以使用@QueryParam(“q”)获得q的值。

@PathParam用于匹配URL的一部分作为参数。例如,在表单为http://stackoverflow.com/questions/{的id}的url中,您可以使用@PathParam("有问题的id")来获取问题的id

毕宏盛
2023-03-14

RequestParam映射到URL上的命名URL参数

PathVariable是URL路径的一部分,可以更改,但仍映射到同一控制器映射

例如。

http://somedomain.com/account/123/details?type=sometype

这里123是一个PathVariable,可以被命名为我们想要的任何名称,sometype是RequestParam的值,它必须是name type。

竺勇
2023-03-14

你好

@Request estParam是绑定为查询参数的参数。例如,应用过滤器时,此参数可以是可选的。

google.com?query=param

@PathVariable是作为参数绑定在url中的参数。需要通知此参数。

yourapp.com/users/pathparam
 类似资料:
  • 问题内容: 和处理特殊字符之间有什么区别? 被空间接受。 在的情况下,被接受为。 问题答案: 是要从URI(Spring称为URI模板)中获取一些占位符 也是要从URI中获取参数—请参见Spring Reference第16.3.3.3章,使用@RequestParam将请求参数绑定到方法参数 如果该网址在2013年12月5日获得了用户1234的发票,则控制器方法如下所示: 同样,请求参数可以是可

  • 我通过Spring文档了解了,他们给出了如下解释: 方法参数注释指示方法参数应绑定到HTTP请求主体的值。例如: 您可以使用将请求正文转换为方法参数。负责将HTTP请求消息转换为对象,并将对象转换为HTTP响应正文。 支持使用和进行基于注释的处理。在Spring 3.0中,得到扩展,以支持,并且默认情况下注册了以下: ... 但我感到困惑的是,他们写在文件上的那句话是 他们这么说是什么意思?谁能给

  • 问题内容: 我遍历了Spring文档以了解,他们给出了以下解释: 所述方法参数注释指示方法参数应绑定到HTTP请求正文的值。例如: 你可以通过使用将请求主体转换为方法参数。负责从HTTP请求消息转换为对象,并从对象转换为HTTP响应主体。 支持使用和进行基于注释的处理。在Spring 3.0中,扩展为支持,并且默认情况下注册了以下: … 但我的困惑是他们在文档中写的句子是 方法参数注释指示方法参数

  • 和之间有什么区别? 我认识到表示矩阵的-行(平行形状),但表示矩阵的-行类似于垂直形状。 我想知道为什么显示垂直形状。

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 这个问题似乎与帮助中心定义的范围内的编程无关。 据我所知,两者都有相同的目的。除了来自Spring MVC和来自JAX-RS这一事实。对此有什么见解吗?