@RequestParam与@PathVariable之间有什么区别
@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为“发票”的用户发票或有关用户的详细信息?
以上是 @RequestParam与@PathVariable之间有什么区别 的全部内容, 来源链接: utcz.com/qa/425586.html