REST API

2分钟内构建API路由

通过创建名为todos的表来存储任务,创建您的第一个API路由。


让我们创建第一个可以通过cURL或浏览器查询的REST路由。

我们将创建一个名为todos的数据库表来存储任务。这会生成对应的API路由/rest/v1/todos,可以接受GETPOSTPATCHDELETE请求。

1

设置包含'todos'表的Supabase项目

在Supabase仪表盘中创建新项目

项目就绪后,在Supabase数据库中创建表。您可以使用表格界面或SQL编辑器完成此操作。

1
2
3
4
5
6
-- 创建名为"todos"的表-- 包含存储任务的列create table todos ( id serial primary key, task text);
2

允许公开访问

让我们为该表启用行级安全并允许公开访问。

1
2
3
4
5
6
7
8
9
10
-- 启用安全策略alter table "todos"enable row level security;-- 允许匿名访问create policy "允许公开访问" on todos for select to anon using (true);
3

插入测试数据

现在我们可以向表中添加一些数据,这些数据可以通过API访问。

1
2
3
4
5
6
insert into todos (task)values ('创建表格'), ('启用安全策略'), ('添加数据'), ('通过API获取数据');
4

获取数据

在仪表盘的API设置中找到您的API URL和密钥。现在您可以通过在API URL后追加/rest/v1/todos来查询"todos"表。

复制以下代码块,替换<PROJECT_REF><ANON_KEY>,然后在终端中运行。

1
2
3
curl 'https://<PROJECT_REF>.supabase.co/rest/v1/todos' \-H "apikey: <ANON_KEY>" \-H "Authorization: Bearer <ANON_KEY>"

额外选项

有多种方式可以访问您的数据:

浏览器

您可以在浏览器中通过附加anon密钥作为查询参数来查询路由:

https://<PROJECT_REF>.supabase.co/rest/v1/todos?apikey=<ANON_KEY>

客户端库

我们提供了多种客户端库

1
const { data, error } = await supabase.from('todos').select()