作用:@ PathVariable他的作用用在参数里用来提取url中的请求参数
例子:
@RequestMapping("/getUserById/{name}")
public User getUser(@PathVariable("name") String name){
return userService.selectUser(name);
}```
作用:@RequestParam的作用是提取请求中的参数
例子:
```java
@RequestMapping(value="getUserInfo")
public @ResponseBody BaseBean getUserInfo(@RequestParam("weiXinId") Long weiXinId,
HttpServletRequest request,HttpServletResponse response)throws Exception{
BaseBean bean = new BaseBean();
try{
User user = weiXinUserService.getUserInfo(weiXinId);
bean.setRows(user);
bean.setStatus(200);
}catch(Exception e){
logger.error("通过微信id获取用户个人信息失败",Commonparam.handle(e));
bean.setStatus(400);
bean.setMsg("获取个人信息失败");
}
return bean;
}
说明:
如果带@RequestParam,它一般有三个值,Value,required,defaultValue。
Value: 代表你传参的参数名称,例如 @RequestParam(value=“id”) Long userId。在这里,你传userId是没有用的,你必须传id,因为value指定了你必须传哪个参数名。当然,你也可以省略value不写,直接写参数名。
required:默认是true,也就是说,你不显示定义required=false,那么你就必须传参
defaultValue:表示默认值的意思,如果你不传参,也可以通过,因为defaultValue起到了作用。