@RequestParam 与 @PathVariable

新手上路,请多包涵

@RequestParam@PathVariable 在处理特殊字符时有什么区别?

+@RequestParam 接受为空间。

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

原文由 user1857181 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 455
1 个回答

如果 URL 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 为用户提供发票 null 或 ID 为“invoices”的用户的详细信息?

原文由 Ralph 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题