来自WP REST API的两个json之间的链接数据

来自WP REST API的两个json之间的链接数据,json,wordpress,angular,typescript,ionic2,Json,Wordpress,Angular,Typescript,Ionic2,我有一个应用程序开发使用离子2,是关于报价。我想用Wordpress和他的RESTAPI管理引用(以及作者、类别等)。起初我使用普通帖子,但现在我尝试使用自定义帖子类型,因为它在后端提供了更多的控制和组织,所以我有一个CPT用于引号,另一个用于作者,以及它们之间的关系 范例↓ wp-json/wp/v2/quotes [ { id: 79, x_metadata: { custom_post_type_onomies_relationship: "77",

我有一个应用程序开发使用离子2,是关于报价。我想用Wordpress和他的RESTAPI管理引用(以及作者、类别等)。起初我使用普通帖子,但现在我尝试使用自定义帖子类型,因为它在后端提供了更多的控制和组织,所以我有一个CPT用于
引号
,另一个用于
作者
,以及它们之间的关系

范例↓

wp-json/wp/v2/quotes

[
  {
    id: 79,
    x_metadata: {
      custom_post_type_onomies_relationship: "77",
      quote: "Be yourself; everyone else is already taken"
    }
  }
]
[
  {
    id: 77,
    title: {
      rendered: "Oscar Wilde"
    },
    x_metadata: {
      bio: "https://wikipedia.org/wiki/Oscar_Wilde"
    }
  }
]
wp-json/wp/v2/authors

[
  {
    id: 79,
    x_metadata: {
      custom_post_type_onomies_relationship: "77",
      quote: "Be yourself; everyone else is already taken"
    }
  }
]
[
  {
    id: 77,
    title: {
      rendered: "Oscar Wilde"
    },
    x_metadata: {
      bio: "https://wikipedia.org/wiki/Oscar_Wilde"
    }
  }
]
正如您所看到的,该关系位于
自定义类型类型类型类型类型类型类型关系中,但我不知道如何在应用程序中正确合并该数据(在该应用程序中,我使用Angular 2/Typescript)

我能想到的唯一方法是循环引用,对于每个引用,通过检查ID的作者循环,然后将来自作者的数据添加到quotes数组中。这样行吗?还是有其他更有效的方法


提前感谢,如果我的英语不太好,请原谅。

您可以使用
\u embed
请求作者

wp-json/wp/v2/quotes?\u-embed=

更新 嵌入资源仅适用于某些字段(如帖子作者、回复)

我能想到的唯一方法就是循环引用,每一个引用 循环检查ID的作者,然后从 作者在引号数组中

如果您想要一些不包含(可嵌入)的链接数据,最小化RESTAPI调用的常见模式是获取所有作者的列表,然后创建存储在客户机中的author_id->authors的数组映射

  • 嵌套循环性能为
    O(n^2)
  • 循环引用,然后执行索引搜索(
    authors[id]
    Array.indexOf
    )性能为
    O(n*logn)

更多信息:

Wordpress有太多只用于关系的表。它们需要
多对多
结构。当我使用wordpress作为API时,我用RubyonRails制作了自己的后端,但我可以访问数据库。您必须搜索关于
多对多关系的信息。这些循环没有效率。