WordPress REST API手册(四 | 3):链接和嵌入

WP REST API 在整个 API 中包含超链接,以允许可发现性和可浏览性,以及将相关资源嵌入到一个响应中。虽然 REST API 并不完全符合整个HAL 标准,但它实现了该标准的._links._embedded属性,如下所述。

响应对象的_links属性包含指向其他 API 资源的链接映射,按“关系”分组。关系指定链接资源与主要资源的关系。(示例包括“作者”,描述资源与其作者之间的关系,或“wp:term”,描述帖子与其标签或类别之间的关系。)关系要么是标准化关系,要么是 URI 关系(如https://api.w.org/term`) or a Compact URI relation (likewp: ). (Compact URI relations can be normalised to full URI relations to ensure full compatibility if required.) This is similar to HTMLtags, orterm`链接。

链接是一个对象,其中包含具有href资源绝对 URL 的属性以及其他可选属性。其中包括内容类型、消歧信息和有关可通过链接执行的操作的数据。

对于集合响应(那些返回对象列表而不是顶级对象的响应),每个项目都包含链接,而顶级响应包括通过Link标题的链接。

示例响应

一个典型的单张贴请求(/wp/v2/posts/42):

{
  "id": 42,
  "_links": {
    "collection": [
      {
        "href": "https://example.com/wp-json/wp/v2/posts"
      }
    ],
    "author": [
      {
        "href": "https://example.com/wp-json/wp/v2/users/1",
        "embeddable": true
      }
    ]
  }
}

嵌入

可选地,一些链接资源可以包含在响应中,以减少所需的 HTTP 请求数量。这些资源被“嵌入”到主响应中。

_embed通过在请求上设置查询参数来触发嵌入。然后,这将包括与_embedded密钥相邻的_links密钥下的嵌入资源。此对象的布局反映了该_links对象,但包括嵌入资源来代替链接属性。

只有embeddable标志设置为的链接true才能被嵌入,并且_embed会导致嵌入所有可嵌入的链接。仅包含包含嵌入响应的_embedded关系,但是与混合的可嵌入和不可嵌入链接的关系将包含不可嵌入链接的虚拟响应,以确保数字索引与_links.

例如,当嵌入集合响应时,嵌入的/wp/v2/posts?author=1集合将应用默认的分页限制。

示例响应

{
  "id": 42,
  "_links": {
    "collection": [
      {
        "href": "https://example.com/wp-json/wp/v2/posts"
      }
    ],
    "author": [
      {
        "href": "https://example.com/wp-json/wp/v2/users/1",
        "embeddable": true
      }
    ]
  },
  "_embedded": {
    "author": {
      "id": 1,
      "name": "admin",
      "description": "Site administrator"
    }
  }
}

《WordPress REST API手册》完整目录:

THE END
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片