备注

此页是正在进行的工作。

URL语法#

自定义查询#

PostgREST URL语法限制了客户端可以执行的查询类型。它可以防止任意、可能结构不佳和速度较慢的客户端查询。这对服务质量有好处,但也意味着数据库管理员必须创建自定义视图和函数来提供更丰富的端点。自定义端点的最常见原因是

  • 表联合

  • 比提供的连接更复杂 资源嵌入

  • 需要参数的地理空间查询,如“Points Near(Late,Lon)”

Unicode支持#

PostgREST支持在模式、表、列和值中使用Unicode。要访问具有Unicode名称的表,请使用百分比编码。

要请求此操作,请执行以下操作:

GET /موارد HTTP/1.1

执行以下操作:

curl "http://localhost:3000/%D9%85%D9%88%D8%A7%D8%B1%D8%AF"

带空格的表/列#

您可以通过使用以下命令对空格进行百分比编码来请求其中包含空格的表/列 %20

curl "http://localhost:3000/Order%20Items?Unit%20Price=lt.200"

保留字符#

如果筛选器包含PostgREST保留字符 (,., :, `` ()``)您必须用百分比编码的双引号将它们引起来 %22 以进行正确处理。

这里 Hebdon,JohnWilliams,Mary 就是价值观。

curl "http://localhost:3000/employees?name=in.(%22Hebdon,John%22,%22Williams,Mary%22)"

这里 information.cpe 是列名。

curl "http://localhost:3000/vulnerabilities?%22information.cpe%22=like.*MS*"

如果筛选的值为 in 操作员有一个双引号 (" ),您可以使用反斜杠对其进行转义 "\"" 。反斜杠本身可以与双反斜杠一起使用 "\\"

这里 Quote:"Backslash:\ 是百分比编码值。请注意 %5C 是百分比编码的反斜杠。

curl "http://localhost:3000/marks?name=in.(%22Quote:%5C%22%22,%22Backslash:%5C%5C%22)"

备注

一些HTTP库可能会自动对URL进行编码(例如 axios )。在这些情况下,您应该使用双引号 "" 直接代替 %22