springmvc rest @PathVariable和@RequestParam的区别
@PathVariable,是从路径里面去获取变量,也就是把路径当做变量;@RequestParam,是从请求里面获取参数。
示例如下:
@RestController
@RequestMapping(value="/hello")
public class HelloController {
/**
* 测试链接:http://localhost:8080/springmvc_demo/hello/gettest1?name=lalala
* 测试结果:gettest1 was invoked.hello lalala
*/
@RequestMapping(value="/gettest1",method=RequestMethod.GET)
public String gettest1(@PathParam("name") String name){
return "gettest1 was invoked.hello " + name;
}
/**
*测试链接:http://localhost:8080/springmvc_demo/hello/gettest2/lalala
*测试结果:gettest2 was invoked.hello lalala
*/
@RequestMapping(value="/gettest2/{name}",method=RequestMethod.GET)
public String gettest2(@PathVariable String name){
return "gettest2 was invoked.hello " + name;
}
}