我有一个使用ionic 2开发的应用程序,是关于引号的。我想用Wordpress和他的REST API管理引号(以及作者,类别等)。起初我使用普通帖子,但现在我正在尝试使用自定义帖子类型,因为它让我在后端有更多的控制和组织,所以我有一个 CPT 用于quotes
,另一个用于authors
,以及它们之间的关系。
示例 ↓
WP-JSON/WP/V2/QUOTES
[
{
id: 79,
x_metadata: {
custom_post_type_onomies_relationship: "77",
quote: "Be yourself; everyone else is already taken"
}
}
]
WP-JSON/WP/V2/authors
[
{
id: 77,
title: {
rendered: "Oscar Wilde"
},
x_metadata: {
bio: "https://wikipedia.org/wiki/Oscar_Wilde"
}
}
]
如您所见,关系在custom_post_type_onomies_relationship
中,但我不知道如何在应用程序中正确合并这些数据(我在其中使用 Angular 2/Typescript)。
我能想到的唯一方法是遍历引号,对于每个引号循环遍历作者检查 ID,然后将作者的数据添加到引号数组中。这是okey还是有其他更有效的方法?
提前感谢,如果我的英语不完美,很抱歉。
您可以使用_embed
作者请求
wp-json/wp/v2/quotes?_embed=
请参阅嵌入
更新
嵌入资源仅适用于某些字段(例如,帖子的作者,回复)
我能想到的唯一方法是循环引用,对于每个引用 循环遍历作者检查 ID,然后从 引号数组内的作者。
如果你想要一些不包含(可嵌入)的链接数据,最小化 REST API 调用的常见模式是获取所有作者的列表,然后创建存储在客户端中的author_id>作者的数组映射
- 嵌套循环性能
O(n^2)
- 循环遍历引号,然后进行索引搜索(
authors[id]
或Array.indexOf
)性能O(n*logn)
更多: JS 中的数组搜索性能