【发布时间】:2020-08-15 19:17:41
【问题描述】:
目前我使用 graphql 默认分页,即使用限制偏移量(代码如下)。这工作正常。但是我们如何包含分页元数据而不是团队列表。并连同此一起返回分页元数据。我使用 sequalize 来获取数据
type Query {
allTeams(page:Int, pageSize:Int): [Team]
}
type Team {
id: Int
name: String
}
//resolver with pagination
const paginate = ( page, pageSize ) => {
var offset = page * pageSize;
var limit = pageSize;
return {
offset,
limit,
};
};
export const resolvers = {
Query: {
allTeams: async (obj, args, context, info ) => Teams.findAll(
paginate( args.page, args.pageSize ),
),
},
}
上面的代码只会返回团队列表。 有什么方法可以返回包含团队列表和分页详细信息的输出
{
"data": {
"allTeams": [
{
"id": 4,
"name": "Team created from postman",
},
{
"id": 5,
"name": "Team created from postman",
}
]
},
"pageInfo": {
"currentPage": 2,
"perPage": 2,
"itemCount": 4,
"pageCount": 2,
"hasPreviousPage": true,
"hasNextPage": false
}
}
【问题讨论】:
标签: node.js pagination graphql sequelize.js apollo