@RequestParam与@PathVariable为spring的注解,都可以用于在Controller层接收前端传递的数据,不过两者的应用场景不同。

@PathVariable主要用于接收http://host:port/path/{参数值}数据。@RequestParam主要用于接收http://host:port/path?参数名=参数值数据,这里后面也可以不跟参数值。

@RequestParam和@PathVariable这两者之间区别不大,主要是请求的URL不一样

用@RequestParam请求接口时,URL是:http://www.test.com/user/getUserById?userId=1

@GetMapping("test")
public String list(@RequestParam("page") String page) {
return feignAdminLogService.test(page);
}

用@PathVariable请求接口时,URL是:http://www.test.com/user/getUserById/2

@GetMapping("test/{page}")
public String list(@PathVariable("page") String page) {
return feignAdminLogService.test(page);
}