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

您什么时候使用@RequestBody和@Pathvariable以及@RequestParam的

乐正明辉
2023-03-14

我有一些应用程序在Spring boot中使用微服务架构。我已经在RestTemplate中使用@PathVariable发送了查询参数、对象、模型等。开发应用程序后,我做了一些研究,要求使用@RequestParam和@RequestBody。但我无法理解,也不知道如何使用@RequestBody和@RequestParam。使用@RequestBody而不是@PathVariable有什么好处。

我已经使用SpringBootRESTTemplate发送了GET请求。

共有1个答案

步骏
2023-03-14

简而言之,路径变量和请求参数将是URL的一部分,请求主体将是请求主体的一部分。

当您想要定位资源时,请选择@PathVariable,即按id获取/删除用户。

/users/{id}

当您想要查询/搜索/过滤数据时,请选择查询参数。

users?lastName=abc

当您想要保存用户时,请转到请求正文。

{
"username" : "abc",
"email" : "abc@gmail.com"
}
 类似资料:
  • 看起来在这个话题上有一些问题,但许多问题现在已经过时,或者问的是不同的问题。 例如,我想做 我不想在 我有一个方法签名,它同时接受请求参数和请求主体(它是Kotlin,但我不认为这实际上有什么不同)。 我可以很好地访问RequestParam,但是RequestBody包含的不仅仅是我在body中发送的JSON,它包含了body和请求参数的合并。在上面的示例中,它将为body绑定输出以下内容 有没

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

  • 问题内容: 结合使用HTTP开发客户端和发布请求和Content-Type应用程序/ x-www-form-urlencoded 1)仅@RequestBody 请求-本地主机:8080 / SpringMVC /欢迎进入正文-name = abc Code //如预期的那样将正文命名为“ name = abc” 2)仅@RequestParam 请求-本地主机:8080 / SpringMVC

  • 使用带有Post请求和Content-Type Application/x-www-form-urlencoded的HTTP dev客户端 URL:localhost:8080/springmvc/welcome 正文:name=abc URL:localhost:8080/springmvc/welcome 在body-name=abc中 URL:localhost:8080/springmvc

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

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