Rest
rest的四种请求
Rest即表述性状态传递 (Representational State Transfer)
一种软件构架风格。
具体的规范:
①把请求的url设计由原来的基于操作的设计变成基于资源的设计。
/account/{id} /account/1
②对于http的请求方式做了规范(post,get,delete,put)
post 增加 get 查询 delete 删除 put 更新
好处:
便于前后分离, 便于程序的扩展 ,便于分布式的开发。
一 Get
前端代码:
<!-- 根据ID查找其他数据 -->
<script type="text/javascript">
function login(){
var id = $("#id").val();
$.ajax({
url:"account/"+id,
type:"get",
success:function(account){
$("#id").val(id);
$("#acc_no").val(account.acc_no);
$("#acc_password").val(account.acc_password);
$("#acc_money").val(account.acc_money);
}
});
}
</script>
后端代码:
//根据ID查询
@RequestMapping(value="/account/{id}",method=RequestMethod.GET)
@ResponseBody
public Account getAccountById(@PathVariable("id") int id) {
if(id<100) {
Random ra = new Random();
int i = ra.nextInt(100);
Account account = new Account(i, "text"+i,"123", ra.nextDouble());
return account;
}
return null;
}
二 Delete
前端代码:
<!-- 根据ID删除数据 -->
<!-- 返回boolean类型 -->
<script type="text/javascript">
function login2(){
var id = $("#id").val();
$.ajax({
url:"account/"+id,
type:"delete",
success:function(a){
alert(a);
}
});
}
</script>
后端代码:
//根据ID删除
@RequestMapping(value="/account/{id}",method=RequestMethod.DELETE)
@ResponseBody
public boolean deleteAccountById(@PathVariable("id") int id) {
if(id<100) {
return true;
}
return false;
}
三 Post
前端代码:
<!-- 增加数据 -->
<!-- 返回boolean类型 ,后台显示数据 -->
<script type="text/javascript">
function login3(){
var id = $("#id").val();
var acc_no = $("#acc_no").val();
var acc_password = $("#acc_password").val();
var acc_money = $("#acc_money").val();
$.ajax({
url:"account/"+id,
type:"post",
success:function(a){
alert(a);
},
data:{id:id,acc_no:acc_no,acc_password:acc_password,acc_money:acc_money}
});
}
</script>
后端代码:
//增加数据
@RequestMapping(value="/account/{id}",method=RequestMethod.POST)
@ResponseBody
public boolean addAccountById(Account account) {
System.out.println(account);
if(account.getId()<100){
return true;
}
return false;
}
四 Put
前端代码:
<!-- 更改数据 -->
<!-- 返回boolean类型 ,后台显示数据 -->
<script type="text/javascript">
function login4(){
var id = $("#id").val();
var acc_no = $("#acc_no").val();
var acc_password = $("#acc_password").val();
var acc_money = $("#acc_money").val();
$.ajax({
url:"account/"+id,
type:"put",
success:function(a){
alert(a);
},
data:JSON.stringify({id:id,acc_no:acc_no,acc_password:acc_password,acc_money:acc_money}),
contentType:"application/json"
});
}
</script>
后端代码:
//更改数据
@RequestMapping(value="/account/{id}",method=RequestMethod.PUT)
@ResponseBody
public boolean updateAccountById(@RequestBody Account account) {
System.out.println(account);
if(account.getId()<100) {
return true;
}
return false;
}