@RequestMapping(value = "/login/{a}/{b}")
public String testRestFulURL(@PathVariable(value = "a") String username, @PathVariable("b") String password){
System.out.println("用户名: "+username + ", 密码: "+password);
return "ok";
}
- 当启动tomcat,在浏览器输入http://localhost:8080/login/zhangsan/123,便会访问ok.html.
@PathVariable用于从请求的URI模板变量中绑定值到控制器方法的参数。
@RequestMapping("/users/{userId}/posts/{postId}")
public String getUserPost(@PathVariable Map<String, String> pathVariables) {
return "ok";
}
- 方法参数是Map<String, String> pathVariables: 这表示你有一个控制器方法,其参数是一个Map,键和值都是String类型。
然后使用@PathVariable: 这意味着你想从请求的URI模板变量中捕获多个值,并将它们填充到这个Map中。
map被填充了所有路径变量名和值: 这是说,对于请求URI中的每一个路径变量(例如/users/{id}/posts/{postId}中的{id}和{postId}),它们的名称(如id和postId)将作为键,而它们对应的值(从请求的URI中提取)将作为值,被填充到这个Map中。
启动tomcat,比如浏览器访问路径为:http://localhost:8080/users/123/posts/456,那么键值为"userId": "123"和"postId" :"456"