404 supabase 错误,尝试使用 RPC 时

问题描述 投票:0回答:1

我在 supabase 中创建了一个表,它使用一个 int8 数组(组 ID)来保存用户拥有的组。虽然 supabase 没有办法追加数组,所以我找到了一篇关于制作存储过程的帖子,我试过了,但我无法使用我自己的表。

程序:

create or replace function append_array(new_element int8, id text)
returns void
as
$func$
    update "Users"
    set "UserGroups" = array_append("UserGroups", $1)
    where id = $2
$func$
language sql;

程序调用

async function createGroup() {
    const { error } = await supabase
    .from('Groups')
    .insert({ Members: [session.user.email], Name: groupName, Editors: [session.user.email] })
    const { errorupdate } = await supabase
    .rpc('append_array', {num: 1000000, email: session.user.email});
    if(error) {
      alert("Error creating group");
      console.log(error);
    }
    if(errorupdate){
      alert("Error updating user info group");
      console.log(errorupdate);
    }

  }

我使用 100000 作为占位符,直到我弄清楚如何使用创建组时生成的主键。虽然当我调用函数时它返回 404 错误作为响应。

请求网址:https://wqamrjqdnsnboscermtz.supabase.co/rest/v1/rpc/append_array 请求方式:POST 状态码:404 远程地址:104.18.27.135:443 推荐人政策:严格起源时交叉来源

https://github.com/orgs/supabase/discussions/2771

我浏览了这个讨论并实施了他们的解决方案,但它没有按照我现在设置的方式工作。我期待 UserGroups 列(int8 数组)被更新为添加到数组中的组号。 在网络编程方面,我仍然是一个初学者,所以任何帮助都会得到很大的帮助。

javascript reactjs rpc supabase
1个回答
0
投票

你的数据库函数参数和rpc调用不匹配。你可以像这样对齐它们。这可能不是唯一错误的地方,但它离使代码正常工作更近了一步。

create or replace function append_array(new_element int8, id uuid)
returns void
as
$func$
    update "Users"
    set "UserGroups" = array_append("UserGroups", $1)
    where id = $2
$func$
language sql;
const { error: errorupdate } = await supabase
    .rpc('append_array', {new_element: 1000000, id: session.user.id});
© www.soinside.com 2019 - 2024. All rights reserved.