0

我正在用作我的数据库postgrest的 API 包装器。postgres该 api 读取我的数据库架构并使用地址中的常用字符创建 URL。

我有这样的功能=create function api.dividend(p_stocks text[])

通用 API 调用:

/url?key=val;key2=val2

我的 API 调用函数create function api.dividend(p_stocks text[])

/dividend?p_stocks=AAPL

在这种情况下,为了测试东西,我使用AAPL了作为输入参数。然而,这是我得到的错误:

function api.dividend(p_stock => text) does not exist

如您所见,返回错误是期待这个函数,api.dividend(p_stock => text)但是我尝试使用这些参数创建一个函数,但我认为它不可能......

对于我应该尝试哪些建议,我将不胜感激?

这不是架构问题,因为我已经检查过函数是否在适当的架构中。

这是 postgres 的完整功能,如果有帮助的话:

create function dividend(p_stocks text[])
    returns table(symbol char, next_dividend_date date, ex_dividend_date date) 
as $$
    select distinct on (symbol) symbol, next_dividend_date, ex_dividend_date
    from api.security_stats 
    where api.security_stats.symbol = any($1)
    order by symbol, date desc 
$$ language sql;
4

1 回答 1

0

我在@Adrian 的帮助下设法解决了这个问题,

/dividend?p_stocks=%7BAAPL%7D

这将是 postgrest 使用函数/参数的正确 URL 路径。 %7b={%7D=}

现在 URL 具有适合我的函数的正确数组格式。

于 2020-12-07T21:47:22.210 回答