数据库

http: RESTful 客户端


http 扩展允许您在 Postgres 中调用 RESTful 端点。

快速演示

概述

让我们了解一些基本概念:

  • REST:代表表述性状态转移。这是一种从外部服务请求数据的方式。
  • RESTful API 是接受 HTTP "调用" 的服务器。这些调用通常包括:
    • GET − 对资源的只读访问
    • POST − 创建新资源
    • DELETE − 删除资源
    • PUT − 更新现有资源或创建新资源

您可以使用 http 扩展从 Postgres 发起这些网络请求。

使用方法

启用扩展

  1. 进入仪表盘的数据库页面
  2. 点击侧边栏中的 扩展
  3. 搜索 http 并启用该扩展

可用函数

虽然主要用法是 http('http_request'),但有 5 个针对特定功能的包装函数:

  • http_get()
  • http_post()
  • http_put()
  • http_delete()
  • http_head()

返回值

通过 http 扩展成功调用 Web URL 后,会返回包含以下字段的记录:

  • status: 整型
  • content_type: 可变字符类型
  • headers: http_header[] 数组类型
  • content: 可变字符类型。通常您会希望将其转换为 jsonb 类型,格式为 content::jsonb

示例

简单 GET 请求示例

1
2
3
4
select "status", "content"::jsonbfrom http_get('https://jsonplaceholder.typicode.com/todos/1');

简单 POST 请求示例

1
2
3
4
5
6
7
8
select "status", "content"::jsonbfrom http_post( 'https://jsonplaceholder.typicode.com/posts', '{ "title": "foo", "body": "bar", "userId": 1 }', 'application/json' );

相关资源