@RequestParam
和 @PathVariable
在处理特殊字符时有什么区别?
+
被 @RequestParam
接受为空间。
在 @PathVariable
的情况下, +
被接受为 +
。
原文由 user1857181 发布,翻译遵循 CC BY-SA 4.0 许可协议
@RequestParam
和 @PathVariable
在处理特殊字符时有什么区别?
+
被 @RequestParam
接受为空间。
在 @PathVariable
的情况下, +
被接受为 +
。
原文由 user1857181 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
@PathVariable
是从 URI 中获取一些占位符(Spring 称之为 URI 模板)——参见 Spring Reference Chapter 16.3.2.2 URI Template Patterns@RequestParam
也是从URI中获取一个参数——参见 Spring Reference Chapter 16.3.3.3 Binding request parameters to method parameters with @RequestParam如果 URL
http://localhost:8080/MyApp/user/1234/invoices?date=12-05-2013
在 2013 年 12 月 5 日获取用户 1234 的发票,则控制器方法如下所示:此外,请求参数可以是可选的,从 Spring 4.3.3 开始,路径变量 也可以是可选的。但是请注意,这可能会更改 URL 路径层次结构并引入请求映射冲突。例如,将
/user/invoices
为用户提供发票null
或 ID 为“invoices”的用户的详细信息?