一.定义

@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时:参数可选是否填写

三.项目结构

restful风格接口(补充) - 图1

四: 测试代码

  1. /**
  2. * @author
  3. * @version V1.0
  4. * @Description: 注解测试
  5. * @date 2020-7-29
  6. */
  7. @Controller
  8. public class AnnotationController {
  9. /**
  10. * RequestParam: 用于获取URL中“?”后携带的参数的值,如: http://localhost:8080/requestParam/test?param=xxx中param参数的值
  11. * 相关属性:
  12. * 1、name/value:url中指定参数的名称
  13. * 2、required: 为true时,这个参数必选填写,默认是true,为false时:参数可选是否填写
  14. * 3、defaultValue:参数不填写时的默认值
  15. **/
  16. @RequestMapping("/requestParam/test")
  17. @ResponseBody
  18. public String requestParamTest(@RequestParam(value = "param",required = true)String param){
  19. return "接受到的参数:" + param;
  20. }
  21. /**
  22. * RequestParam: 用于获取URL中路径的参数值,参数名由RequestMapping注解请求路径时指定,常用于restful风格的api中
  23. * 如: http://localhost:8080/pathVariable/test/123 中123的值
  24. * 相关属性:
  25. * 1、name/value:RequestMapping注解中url路径绑定参数的名称,如/pathVariable/test/{param},则name的值就为param
  26. * 2、required: 为true时,这个参数必选填写,默认是true,为false时:参数可选是否填写
  27. **/
  28. @RequestMapping("/pathVariable/test/{param}")
  29. @ResponseBody
  30. public String pathVariableTest(@PathVariable(value = "param",required = false)String param){
  31. return "pathVariable接受到的参数:" + param;
  32. }
  33. }

五、运行结果

(一) @RequestParam注解测试结果
restful风格接口(补充) - 图2restful风格接口(补充) - 图3restful风格接口(补充) - 图4

(二) @PathVariable注解测试结果restful风格接口(补充) - 图5restful风格接口(补充) - 图6