RESTful风格的API

84560296 2020-06-10

传统请求地址方式:

GET http://www.example.com/getUsers         // 获取用户列表
GET http://www.example.com/getUser?id=1     // 比如获取某一个用户的信息
POST http://www.example.com/modifyUser      // 修改用户信息
GET http://www.example.com/deleteUser?id=1  // 删除用户信息

RESTful API:一套关于设计请求的规范

RESTful API实际上就是一套规范,是关于如何设计请求地址的规范,说白了就是对增删改查以及其它操作所对应的地址应该长什么样子,所对应的请求方式应该是什么。

  • GET:获取数据
  • POST:添加数据
  • PUT:更新数据
  • DELETE:删除数据

例如:

GET:http://www.example.com/users  获取用户列表数据
POST:http://www.example.com/users  创建(添加)用户数据
GET:http://www.example.com/users/1  获取用户ID为1的用户信息
PUT:http://www.example.com/users/1  修改用户ID为1的用户信息
DELETE:http://www.example.com/users/1  删除用户ID为1的用户信息

<script type="text/javascript">
    // 获取用户列表信息
    $.ajax({
        type: ‘get‘,
        url: ‘/users‘,
        success: function (response) {
            console.log(response)
        }
    })
    // 添加id为1的用户信息
    $.ajax({
        type: ‘get‘,
        url: ‘/users/1‘,
        success: function (response) {
            console.log(response)
        }
    })
    // 删除id为10的用户信息
    $.ajax({
        type: ‘delete‘,
        url: ‘/users/10‘,
        success: function (response) {
            console.log(response)
        }
    })
    // 更新id为10的用户信息
    $.ajax({
        type: ‘put‘,
        url: ‘/users/10‘,
        success: function (response) {
            console.log(response)
        }
    })
</script>
// 后台服务器端获取客户端传递过来的数据

// 获取某一个用户具体信息的路由
app.get(‘/users/:id‘, (req, res) => {
    // 获取客户端传递过来的用户id
    const id = req.params.id;
    res.send(`当前获取的是id为${id}的用户信息`);
});
// 删除某一个用户
app.delete(‘/users/:id‘, (req, res) => {
    // 获取客户端传递过来的用户id
    const id = req.params.id;
    res.send(`当前删除的是id为${id}的用户信息`);
});
// 修改某一个用户的信息
app.put(‘/users/:id‘, (req, res) => {
    // 获取客户端传递过来的用户id
    const id = req.params.id;
    res.send(`当前修改的是id为${id}的用户信息`);
});

注意:之前在查询字符串参数的时候(以?后面带参数的请求方式),是用res.query来获取的。

而获取restful风格的参数是以/:id这样的形式,是使用res.params来获取的,你写的属性是什么,在res.params这个对象中就有这个属性。

相关推荐