- @RequestParam:
@RequestParam
用于从 HTTP 请求的查询参数中获取数据。查询参数通常出现在 URL 中,以?
开头,例如http://example.com/api?param1=value1¶m2=value2
中的param1
和param2
就是查询参数。- 你可以使用
@RequestParam
注解来将查询参数的值绑定到方法的参数上,通常是控制器方法的参数。例如,你可以使用@RequestParam("param1") String param1
来获取param1
参数的值。 @RequestParam
具有一些属性,例如required
和defaultValue
,可以用来指定参数是否是必需的,以及在没有提供参数值时使用默认值。
- @PathVariable:
@PathVariable
用于从 URL 路径中提取数据。URL 路径是指在 URL 中的一部分,通常由斜杠分隔。例如,http://example.com/api/value1/value2
中的value1
和value2
就是 URL 路径的一部分。- 你可以使用
@PathVariable
注解将 URL 路径中的值绑定到方法的参数上。例如,你可以使用@PathVariable("value1") String value1
来获取 URL 路径中的value1
。 @PathVariable
注解通常用于 RESTful 风格的请求,其中 URL 路径中的信息用于唯一标识资源。
总结一下,@RequestParam
主要用于获取查询参数的值,而 @PathVariable
用于获取 URL 路径中的值。它们都是用于处理 HTTP 请求参数的 Spring 注解,但在用法和用途上略有不同。你可以根据你的应用程序需求选择使用哪个注解。