初学springmvc容易分不清楚这两个参数之间的用法差别,如果较长一段时间不接触,可能又会搞忘,贴个笔记,方便以后回顾以及初学者参考。如有错误,还请指正。
@PathVariable:
@PathVariable适用于RESTFULL风格的请求。
例:
//请求样式服务器托管网为restful http://localhost:8080/user/张三
@GetMapping("/{id}")
public String getUserByid(@PathVariable(name = "id",required = true) String id){
return id;
}
@GetMapping注解中的引号中的名字一定要与@PathVariable(name = “id”,required = true)中的name相同,后面required的作用是:当为true的话, 地址中如果没有这个参数会报错;为false时则会忽略,默认值为true,即当确定顾哦来的参数一定有的时候,就不用显示定义,代码可改为:
@GetMapping("/{id}")
public String getUserByid(@PathVariable(name = "id") String id){
return id;
}
如果请求参数只有一个,代码可进一步缩减为:
@GetMapping("/{id}")
public String getUserByid(@PathVariable String id){ //@PathVariable 不用设置任何参数
return id;
}
@PathParam
常用于传统请求方式,url例子为:
http://localhost:8080/user/getUserByidAndName?id=a&&name=张三
代码举例:
@GetMapping("/getUserByidAndName")
public String getUserByidAndName(@PathParam("id") String id,@PathParam("name") String name){
return String.form服务器托管网at("id=%s,name=%s", id,name);
}
@PathParam中的参数名要和url中一致,否则拿到的值为null。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: WPF Frame content binding page(Using MVVM)
前言 这个binding问题困扰了我几天时间了,弄了好的demo试了又试。之前老是认为是ItemsControl中数据模版DataTemplate中绑定Command问题,根据测试没问题。一直在考虑是否是绑定DataContext对象没指明同一个上下文对象问题…