一.定义
@RequestParam注解作用:
获取URL中携带的请求参数的值既URL中“?”后携带的参数,传递参数的格式是:key=value
如: https://localhost/requestParam/test?key1=value1&key2=value2…
@PathVariable注解作用:
用于获取URL中路径的参数值,参数名由RequestMapping注解请求路径时指定,常用于restful风格的api中,传递参数格式:直接在url后添加需要传递的值即可
如: https://localhost/pathVariable/test/value1/value2…
@GetMapping 和 @PostMaping注解的作用
get是获取数据常用于查询,post是表单提交常用于新增和修改。删除最好使用@DeleteMapping
二.语法:
一: RequestParam使用案例: @RequestParam(value = “param”,required = false,defaultValue = “test”)String param
参数解析:
value/name: URL中需要获取的参数名称
required: true/false,为true时,url中必须携带这个参数(否则会出现: Required String parameter XXX is not present”),为false时,可以选填这个参数。
defaultValue:默认值,如果这个url没有携带这个参数时,默认设置的值。
二: PathVariable使用案例:
@RequestMapping(“/pathVariable/test/{param}”)
@PathVariable(value = “param”,required = false)String param
参数解析:
1、name/value:RequestMapping注解中url路径绑定参数的名称,如/pathVariable/test/{param},则name的值就为param
2、required: 为true时,这个参数必选填写,默认是true,为false时:参数可选是否填写
三.项目结构

四: 测试代码
/*** @author* @version V1.0* @Description: 注解测试* @date 2020-7-29*/@Controllerpublic class AnnotationController {/*** RequestParam: 用于获取URL中“?”后携带的参数的值,如: http://localhost:8080/requestParam/test?param=xxx中param参数的值* 相关属性:* 1、name/value:url中指定参数的名称* 2、required: 为true时,这个参数必选填写,默认是true,为false时:参数可选是否填写* 3、defaultValue:参数不填写时的默认值**/@RequestMapping("/requestParam/test")@ResponseBodypublic String requestParamTest(@RequestParam(value = "param",required = true)String param){return "接受到的参数:" + param;}/*** RequestParam: 用于获取URL中路径的参数值,参数名由RequestMapping注解请求路径时指定,常用于restful风格的api中* 如: http://localhost:8080/pathVariable/test/123 中123的值* 相关属性:* 1、name/value:RequestMapping注解中url路径绑定参数的名称,如/pathVariable/test/{param},则name的值就为param* 2、required: 为true时,这个参数必选填写,默认是true,为false时:参数可选是否填写**/@RequestMapping("/pathVariable/test/{param}")@ResponseBodypublic String pathVariableTest(@PathVariable(value = "param",required = false)String param){return "pathVariable接受到的参数:" + param;}}
五、运行结果
(一) @RequestParam注解测试结果


(二) @PathVariable注解测试结果

