【发布时间】:2020-11-03 06:44:09
【问题描述】:
上下文
我有一个前端应用程序,它需要来自 API 的一系列博客文章,当您使用 GET 请求调用 http://strapi-url/posts/ 时,它会将所有结果作为数组中的对象返回。 快乐的日子。
问题
最终我希望有更复杂的 GET 选项和查询参数,所以我需要修改后控制器并为 find() 编写一个自定义函数。
当我修改 api/post/controllers/post.js 中的 find() 函数,并让它返回 strapi.query('post').find() 的结果时,它返回一个带有键的对象而不是一个数组。
代码
async find(ctx) {
let entity = await.strapi.query('post').find();
return sanitizeEntity(entity, { model: strapi.models.post });
},
我知道我可以简单地将它转换为前端的数组,但感觉像一个凌乱的解决方案,我宁愿理解为什么它不返回一个数组,以及会是什么解决问题的最佳方法。
【问题讨论】:
-
它返回多少组对象?如果它返回多个对象,那么它是一个正在返回的数组。
-
不,正如我所提到的,它是一个带有键的对象,即 { 0: { data: 1 }, 1: { data: 2} }
标签: javascript koa strapi