@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

回到顶部