概述
MemFire Cloud直接从你的数据库模式中生成API。该API是:
- 即时和自动生成:当您更新数据库时,可以通过您的 API 立即访问更改。
- 自文档化:MemFire Cloud在Dashboard 中生成文档,在您进行数据库更改时进行更新。
- 安全:API被配置为与MemFireDB的行级安全一起工作,配置在API网关后面,并启用了密钥授权。
- 快速:我们的基本读取基准比Firebase快300%以上。API是MemFireDB上面的一个非常薄的层,MemFireDB做了大部分的重活。
- 可扩展性:API可以为成千上万的同时请求提供服务,并且对无服务器工作负载有很好的作用。
除此之外,平台还提供多种不同语言的API接口,包括:
- JavaScript: JavaScript使用说明
- Dart: Dart API使用说明
为了便于快速使用体验MemFire Cloud云数据库,进行读写访问操作, 可以使用如下方式:
- 使用Postman图形界面工具调用API访问数据: Postman访问数据
- 使用cURL工具调用API访问数据: cURL访问数据
RESTful API
MemFire Cloud使用PostgREST提供了一个RESTful API。这是在MemFireDB之上的一个非常薄的API层。 它提供了你在CRUD API中需要的一切。
- 基本的CRUD操作
- 深度嵌套的连接,允许你在一次获取中从多个表中获取数据
- 与MemFireDB视图一起工作
- 与MemFireDB函数一起工作
- 与MemFireDB的安全模型一起工作--包括行级安全、角色和授权。
开始使用
在你将表或函数添加到你的数据库后,你就可以使用API了。
创建API路由
当你创建MemFireDB表、视图或函数时,会自动创建API路由。
让我们通过创建一个名为todos
(它将存储一些公共的用户信息)的表来创建我们的第一个 API 路由.
这将创建一个相应的路由todos
,它可以接受GET
、POST
、PATCH
和DELETE
请求。
操作步骤如下:
- 进入我的应用->数据表页面.
- 点击"新建数据表"按钮.
- 输入数据表名"todos".
- 点击"添加字段"按钮.
- 输入新列名称 "task" ,并选择字段类型 "text".
- 点击"创建"按钮.
SQL语法:
-- Create a table called "todos" with a column to store tasks.
create table todos (
id bigint generated by default as identity primary key,
task text check (char_length(task) > 3)
);
API URL和密钥
每个Supabase项目都有一个独特的API URL。您的 API 在一个 API 网关的保护下,每次请求都需要一个 API 密钥。
你可以在仪表板中找到密钥。操作步骤如下:
- 进入我的应用->概览页面.
- 在该页面找到您的API URL.
- 在该页面找到您的
anon
andservice_role
密钥.
细节和链接。
最初提供给你两个密钥。
- 一个
anon
密钥,在浏览器环境下使用是安全的。 - 一个
service_role
密钥,只能在服务器上使用。这个密钥可以绕过行级安全。
使用API
你可以直接通过HTTP请求与你的API交互,或者你可以使用我们提供的客户端库。
让我们看看如何向我们在第一步创建的todos'表发出请求。
使用我们提供的API URL (
[SUPABASE_URL])和Key(
[SUPABASE_ANON_KEY]`)。
JS语法:
// Initialize the JS client
import { createClient } from '@supabase/supabase-js'
const supabase = createClient([SUPABASE_URL], [SUPABASE_ANON_KEY])
// Make a request
let { data: todos, error } = await supabase
.from('todos')
.select('*')
cURL语法:
# Append /rest/v1/ to your URL, and then use the table name as the route
curl '[SUPABASE_URL]/rest/v1/todos' \
-H "apikey: [SUPABASE_ANON_KEY]" \
-H "Authorization: Bearer SUPABASE_ANON_KEY"
- 使用Postman图形界面工具调用API访问数据: Postman访问数据
- 使用cURL工具调用API访问数据: cURL访问数据
说明:数据库相关操作转API,可以查阅:https://postgrest.org/en/v7.0.0/api.html
详情和链接。
- 当你在MemFireDB中创建一个表时,行级安全默认是禁用的。请确保你通过启用RLS来保护它。
- 不要在浏览器或任何用户可以看到的地方暴露
service_role
键。 - JS参考:select(), insert(), update(), upsert(), delete(), rpc()(调用Postgres函数)。
确保你的路由安全
操作步骤:
- 进入我的应用-数据表页面.
- 选中要启用RLS的数据表,点击"权限配置"按钮.
- 点击"启用RLS"按钮,启用数据表的RLS.
SQL语法:
alter table todos enable row level security;