@RequestParam,@PathVariable等注解区别

@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充

@RequestParam

http://localhost:8080/menu/MenuDelByIds?arr=10&param=20
@RequestParam用于获取参数,可获取?arr="10"这种?后面的参数值
根据这个地址你可以这样写后台

public String del(  @RequestParam(value="arr", required=true) String arr,@RequestParam(value="param", required=false) String param){
}

@RequestParam 支持下面四种参数

defaultValue 如果本次请求没有携带这个参数,或者参数为空,那么就会启用默认值
name 绑定本次参数的名称,要跟URL上面的一样
required 默认为true
value 跟name一样的作用,是name属性的一个别名

@PathVariable

使用@PathVariable接收参数,参数值需要在url进行占位, 前端传参的URL:url = "/menu/MenuDelByIds/${Id}/${name}"


@RequestMapping("/del/{id}/{name}")
public String del(Model model, @PathVariable long id,@PathVariable String name) {
}

PathVariable 汉语意思是:路径变量,就是要获取一个url 地址中的一部分值, RequestMapping 上说明了@RequestMapping(value="/del/{id}/{name}")

就是想获取你URL地址 /del/ 的后面的那个 {id}以及name的。

猜你喜欢

转载自www.cnblogs.com/cngsl/p/12075115.html