所谓的RESTful就是一种风格,其实就是把请求参数变成请求路径的一种编程风格。
1. 与传统URL的区别
- 传统的URL请求格式为:http://localhost:8080/springmvc_day03/selectUser?id=2 ;
- 而对应的RESTful风格的请求URL则是:http://localhost:8080/springmvc_day03/user/2 ;
-selectUser是动词性的路径,而user是名词性路径;
2. 编写RESTful风格的Controller
/**
* 接受RESTful风格的请求
* 处理 JSON 字符串
* RESTful风格的注解格式
*/
@RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
@ResponseBody
public User selectUser(@PathVariable("id") String id) {
User user = new User();
System.out.println("UserId="+id);
if(id.equals(123)) {
user.setUsername("老王");
}
return user;
}
RESTful风格使用**@PathVariable(“id”)用在形参上,代替@RequestParam注解映射参数;
使用@RequestMapping("/user/{id}")** 代替单纯的url请求;
3. 视图页面的js修改
<script type="text/javascript">
function select(){
var id = $("#number").val();
$.ajax({
url:"${pageContext.request.contextPath}/user/"+id,
type:"GET",
// 回调响应的数据格式为json字符串,可省略
dataType:"json",
// 成功响应的结果
success:function(data){
data = JSON.parse(data);
if(data!=null){
alert(data.username);
}
}
});
}
</script>