1

我正在使用 PostgREST 构建一个 API ...我对如何复制下面的查询感到困惑,更具体地说,是利用 users = 输入的参数 %s

SELECT symbol, date, adj_close 
FROM api.security_price 
WHERE security_price.symbol IN %s AND date 
> (SELECT MAX(date) FROM api.security_price) - interval '1 years' 
ORDER by date;

在 python 中,它看起来像这样 =get_data_from_db("SELECT symbol, date, adj_close FROM api.security_price WHERE security_price.symbol IN %s AND date > (SELECT MAX(date) FROM api.security_price) - interval '1 years' ORDER by date;", [placeholders])

在我传递占位符的地方,第二个参数包含用户输入的值。

我如何能够GET使用环境变量来完成用户生成的请求,例如placeholders创建上面完全相同的示例?

这是postgREST 文档,postgres 根据表/列名自动生成 api 模式,非常简单。但是他们没有提到像我这样的案例场景。

4

1 回答 1

0

创建一个视图,例如:

create view foo as 
  select 
    symbol, 
    date, 
    adj_close
  from api.security_price 
  where 
    date > (select max(date) from api.security_price) - interval '1 years' 
  order by 
    date;

使用 HTTP 请求,例如:

GET /foo?symbol=in.(APPL,GOOG)
于 2020-12-22T15:45:12.843 回答