Spring MVC框架是在Java世界中开发Web应用程序最流行的框架之一,它还提供了一些有用的注释,可以从传入的请求中提取数据并将请求映射到控制器,例如@ RequestMapping,@ RequestParam和@PathVariable。
即使将@RequestParam和@ParthVariable都用于从HTTP请求中提取值,它们之间也存在细微的差异,这使得它们从访谈和Spring认证的角度来看都是一个有用的问题。 我们将研究之间的细微差别
本文中的@RequestParam和@PathVaraible。 顾名思义,@ RequestParam用于从URL获取请求参数,也称为查询参数,而@PathVariable则从URI提取值。
例如,如果传入的检索主题为“ Java”的书的HTTP请求是http:// localhost:8080 / shop / order / 1001 / receipts?date = 12-05-2017,则可以使用@RequestParam批注检索查询参数日期,您可以使用@PathVariable提取orderId即“ 1001”,如下所示:
@RequestMapping(value="/order/{orderId}/receipts", method = RequestMethod.GET)
public List listUsersInvoices(
@PathVariable("orderId") int order,
@RequestParam(value = "date", required = false) Date dateOrNull) {
...
}
required = false表示查询参数可以是可选的,但URL必须具有相同的URI。
如何使用@RequestParam在Spring MVC中提取查询参数
Spring MVC是一个丰富的框架,可以用Java开发Web应用程序和RESTful Web服务 。 它提供了几种从传入的HTTP请求中检索数据的方法,例如
- 请求参数
- 路径变量
- 表格输入