使用Postman访问数据

MemFire Cloud为所有的数据表提供自动即时的API,我们可以通过Postman工具调用API来访问云数据库中数据表的数据。

前置条件

① 注册MemFire Cloud账号;

② 存在已创建好的应用;

操作步骤

1.创建数据表,插入数据#

我的应用管理页面,点击具体应用,进入应用详情页面,点击左侧菜单栏“SQL执行器”,创建新查询,执行如下SQL命令。

SQL语法如下:

1CREATE TABLE employees (
2    employee_no integer PRIMARY KEY,
3    name text UNIQUE,
4    department text NOT NULL
5);
6INSERT INTO employees 
7VALUES 
8(1, 'lining', 'Marketing'),
9(2, 'lisan', 'Sales'),
10(3, 'zhangqi', 'Operations');

2.使用API文档#

点击左侧菜单栏“API文档”,在“表和视图”里,选中所有数据表中的“employees”,右侧点击"Bash"栏,应用API key选择“anon(public)”, 则可以查看该数据表的专属API接口文档。

img

3.访问数据#

接下来读取该数据表“employees"中所有的行。

1.首先,我们在拖动文档滚动条,找到该操作的命令,如下图所示。我们可以直接获取到命令的URL信息、apikey和Authorization。

img

2.打开Postman工具,新建一个请求窗口,复制url并将其粘贴到请求里,请求方式选择GET,查询参数是“*”(查询全部)。配置请求Headers,将apikey和Authorization配置到请求头里面。完成配置后,点击“Send”按钮,即可获得返回结果。

img

4.插入数据#

接下来插入数据到数据表“employees"中。

1.首先,拖动文档滚动条,找到插入数据的API命令,如下图所示。可以获取到命令的URL信息、apikey和Authorization。

img

  1. 在Postman工具,新建一个请求窗口,请求方式选择POST,复制url并将其粘贴到请求里,配置Headers。同时在Body里面配置需要插入的数据。

img

3.点击“Send”按钮,返回状态码201,插入数据操作成功。

4.执行第3小节访问数据操作,即可看到新插入的数据。

img

5.设置RLS, 访问数据#

数据表里的RLS默认是不开启的,此时注册应用的用户是可以增删改查数据表中任何数据。接下来展示如何采用RLS来设置表的访问权限,允许经过身份验证的用户来访问数据表。

1.在用户认证->策略页面,选中数据表“employees",点击“启用RLS”按钮后,即可开启该数据库的RLS规则。允许经过身份验证的用户进行数据插入访问数据表。

img

2.接下来,给表设置访问规则,只允许经过身份验证的用户才能去插入数据。这只是其中一种规则,具体规则还得根据大家的业务需求规定。

(1)只允许经过身份验证的用户才能去插入数据。

img

(2)允许所有用户访问数据表。

img

SQL语法:

1CREATE POLICY "Enable insert for authenticated users only" ON "public"."employees"
2AS PERMISSIVE FOR INSERT
3TO authenticated
4WITH CHECK (true)
5
6CREATE POLICY "Enable read access for all users" ON "public"."employees"
7AS PERMISSIVE FOR SELECT
8TO public
9USING (true)

创建规则成功后,显示结果如下:

img

3.设置完成权限后,此时第4小节中插入数据将无法成功,提示如下。

img

4.创建一个用户,在认证管理->用户页面,点击“邀请”按钮,输入你的邮箱地址,点击“邀请”按钮。则该邀请邮箱中会收到一份注册邀请邮件.

img

5.登录邮箱接受注册邀请,可以拿到用户token,这说明该用户已经认证通过。

img

点击邮件中的邀请链接,在浏览器新页面中打开,可以从邀请链接中获取该用户的token。

img

6.打开Postman,执行打开上一步的插入数据请求窗口,将Authorization 的内容换成该用户的token。

img

7.配置apikey、Perfer、Content-type参数。

img

8.配置Body,准备一条即将插入的数据,点击“Send”按钮,返回状态码201,插入数据操作成功。

img