当前位置: 首页 > 面试题库 >

@RequestParam与@PathVariable之间有什么区别

杨骏
2023-03-14
问题内容

@RequestParam@PathVariable处理特殊字符之间有什么区别?

+@RequestParam空间接受。

在的情况下@PathVariable+被接受为+


问题答案:
  • @PathVariable是要从URI(Spring称为URI模板)中获取一些占位符
  • @RequestParam也是要从URI中获取参数—请参见Spring Reference第16.3.3.3章,使用@RequestParam将请求参数绑定到方法参数
    如果该网址http://localhost:8080/MyApp/user/1234/invoices?date=12-05-2013在2013年12月5日获得了用户1234的发票,则控制器方法如下所示:
@RequestMapping(value="/user/{userId}/invoices", method = RequestMethod.GET)
public List<Invoice> listUsersInvoices(
            @PathVariable("userId") int user,
            @RequestParam(value = "date", required = false) Date dateOrNull) {
  ...
}

同样,请求参数可以是可选的,从Spring 4.3.3开始,路径变量也可以是可选的。但是请注意,这可能会更改URL路径层次结构并引入请求映射冲突。例如,是否/user/invoices提供nullID为“发票”的用户发票或有关用户的详细信息?



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

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

  • 在处理特殊字符时,和有什么区别? 被接受为空格。 在的情况下,被接受为。

  • 问题内容: 和处理特殊字符之间有什么区别? 被空间接受。 在的情况下,被接受为。 问题答案: 是从URI(Spring称为URI模板)中获取一些占位符—请参见Spring参考第16.3.2.2章URI模板模式 也是要从URI中获取参数—请参见第16.3.3.3章,使用@RequestParam将请求参数绑定到方法参数 如果该网址http://localhost:8080/MyApp/user/12

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

  • 问题内容: 和之间有什么区别? 它们都充当未来结果的占位符,但是主要区别在哪里? 问题答案: 根据讨论,终于被要求包含在Java 8中,其javadoc解释了: 可以明确完成(设置其值和状态)并可以用作CompletionStage的Future,它支持在完成时触发的相关功能和操作。 列表上还提供了一个示例: 请注意,最终的API稍有不同,但允许类似的异步执行: