RESTful支持
RESTful
概述
RESTful
也称之为REST(Representational State Transfer),可以理解为一种软件架构风格或者是设计风格
简单来说,RESTful风格就是把请求参数变成请求路径的一种风格
举个例子
http://.../queryItems?id=1
而采用RESTful风格后,URL地址请求就会变成
http://.../items/1
从上面两个请求我们可以看出,RESTful风格中的URL将请求参数id=1变成了请求路径的一部分,并且URL中的queryItems也变成了items
RESTful风格在HTTP请求中,使用put\delete\post\get方式分别对应添加\删除\修改\查询操作,不过在国内开发一般规范中,还是只使用post和get方式来实现业务的增删查改操作(CRUD)
在SpringMVC中除了支持JSON数据交互之外,同时也支持RESTful风格的编程
用户信息的查询(Example)
在控制器中创建
//使用RESTful风格
@RequestMapping("/user/{id}")
@ResponseBody
public User selectUser(@PathVariable("id") String id){
//查看数据的接收
System.out.println("id->"+id);
User user = new User();
//模拟根据id查询出到用户对象数据
if (id.equals("1234"))user.setUserName("tom");
return user;
}
编写JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>RESTful测试</title>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function search() {
//获取输入的查询编号
var id = $("#number").val();
$.ajax({
url:"${pageContext.request.contextPath}/users/user/"+id,
type:"GET",
//定义回调响应的数据格式为JSON字符串
dataType:"JSON",
success:function (data) {
if (data.userName != null) {
alert("您查询的用户:"+data.userName);
}else{
alert("没有查找到id为:"+id+"的用户")
}
}
});
}
</script>
</head>
<body>
<form>
编号: <input type="text" name="number" id="number"> <input type="button" value="确定" onclick="search()">
</form>
</body>
</html>