Web开发基础

一、REST风格简介

什么是REST风格呢?

REST(Representational State Transfer),表述性状态转换,它是一种软件架构风格。

传统URL风格如下:

http://localhost:8080/user/getById?id=1     GET:查询id为1的用户
http://localhost:8080/user/saveUser         POST:新增用户
http://localhost:8080/user/updateUser       POST:修改用户
http://localhost:8080/user/deleteUser?id=1  GET:删除id为1的用户

我们看到,原始的传统URL呢,定义比较复杂,而且将资源的访问行为对外暴露出来了。

基于REST风格URL如下:

http://localhost:8080/users/1  GET:查询id为1的用户
http://localhost:8080/users    POST:新增用户
http://localhost:8080/users    PUT:修改用户
http://localhost:8080/users/1  DELETE:删除id为1的用户

其中总结起来,就一句话:通过URL定位要操作的资源,通过HTTP动词(请求方式)来描述具体的操作。

在REST风格的URL中,通过四种请求方式,来操作数据的增删改查。

  • GET : 查询
  • POST :新增
  • PUT :修改
  • DELETE :删除

我们看到如果是基于REST风格,定义URL,URL将会更加简洁、更加规范、更加优雅。

注意事项:

  • REST是风格,是约定方式,约定不是规定
  • 描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。如:users、emps、books…

二、Ajax

2.1原生ajax

  <input id="btn1" type="button" value="获取数据">
  
  <div id="div1"></div>
  <script>
      document.querySelector('#btn1').addEventListener('click', ()=> {
        //1. 创建XMLHttpRequest 
        var xmlHttpRequest  = new XMLHttpRequest();
        
        //2. 发送异步请求
        xmlHttpRequest.open('GET', 'https://mock.apifox.cn/m1/3128855-0-default/emp/list');
        xmlHttpRequest.send();//发送请求
        
        //3. 获取服务响应数据
        xmlHttpRequest.onreadystatechange = function(){
            if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){
                document.getElementById('div1').innerHTML = xmlHttpRequest.responseText;
            }
        }
      })
  </script>

2.2 Ajax-Axios

 
 <input type="button" value="获取数据GET" id="btnGet">
 <input type="button" value="删除数据POST" id="btnPost">
 <!-- 1.引入js文件 -->
 <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
 <!-- <script src="../js/axios.js"></script> -->
 <script>
     document.querySelector("#btnGet").addEventListener('click', 
         function(){
            
             axios({
                 method: 'GET',
                 url: 'https://mock.apifox.cn/m1/3083103-0-default/emps/list'
             }).then((result)=>{     //成功回调函数
                 console.log(result.data);    
                 console.log(result.data.data);    
             }).catch((err)=>{       //失败回调函数
                 alert(err);
             })
         }
     )
     document.querySelector("#btnPost").addEventListener('click', 
         function(){
            
             axios({
                 method: 'POST',
                 url: 'https://mock.apifox.cn/m1/3083103-0-default/emps/update',
                 data: 'id=1'    //封装请求参数
             }).then((result)=>{     //成功回调函数
                 console.log(result.data);    
             }).catch((err)=>{       //失败回调函数
                 alert(err);
             })
         }
     )
     
 </script>

三、接口四要素

请求路径
请求方式
请求参数
响应数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值