当前位置: 首页 > 科技观察

serverless开发的Todo案例

时间:2023-03-13 22:20:55 科技观察

集成云函数和Express后,我们将继续通过案例学习云函数的使用和开发。这里我们选择实现一个TodoList案例的后端API接口,它有最基本的增删改查功能。添加业务路由首先,我们修改上面的代码,将TodoList的业务处理分散到不同的路由请求中。代码实现后,在本地请求/root路径和todo路径。测试完成后,部署云函数,然后进行相应的测试。基本的业务路由配置完成后,我们回到业务代码的编写上。以TodoList为例,我先实现增删改查的相关操作。使用postman测试本地和云端功能。按照我们Todo的业务逻辑,肯定是要先给它添加数据的。有了数据,我们就可以进行后续的增删改查。问题是我们添加的数据存储在哪里?当然,它存储在数据库中。巧的是,cloudbase提供了一个云数据库,我们可以直接使用,那么如何使用呢?在使用云数据库连接之前,我们需要先了解它的一些基本概念。腾讯云提供的云数据库是文档型数据库,提供基础读写、聚合搜索、数据库事务、实时推送等功能。数据库中存在三个基本概念:数据库实例、集合和记录。每个云开发环境中只有一个数据库实例。在一个数据库实例中,可以创建多个集合。集合可以理解为一个文本文件,每个文件可以存储多个类似JSON格式的对象。此类对象称为记录。那么如何使用呢?我们打开官方手册看一下:https://docs.cloudbase.net/database/introduce.html需要注意的是我们需要下载安装node-sdk,npminstallcloudbase/node-sdk,通过service从客户端调用时,需要在SDK初始化参数中填写腾讯云密钥(SecretID和SecretKey),手册中没有提及,但必须注意的是除了腾讯云密钥外,env也是必填项,即云环境ID。配置好基本信息后,我们就可以连接数据库,进行相应的操作了。但是数据库的操作是基于集合的,所以需要在操作之前创建集合,使用db.collection获取集合引用,然后进行相应的操作。最后,我们封装与数据库的连接并创建config/db.js。打包之后,我们只需要在todo.js中导入db文件即可。添加、删除、修改、查询、数据库设计、添加任务、获取任务、修改任务、删除任务、客户端接口调用。这里我们选择使用常见的Vue框架作为客户端,按照传统方式创建。安装Element-ui和axios请求库后,可以直接向云函数发送请求获取数据。我在这里简单地写了一个请求的例子。发送请求后,它会被渲染到页面。后续工作也很简单,实现其他接口函数即可。一切看起来都那么美好,可问题是能正常显示,你有没有一丝的不安?检查了云服务器的响应头后,我才松了口气。你可知道发生了什么??是的,是因为跨域。一开始以为页面上的数据获取不到。然而,我看到下面的响应头,我有点惊讶。这只是一个小插曲,相信大家能看懂,这里就不细说了,但是我也不想继续写代码了,因为这种开发方式不太适合serverless。