如何在桑格利亚汽酒中使用 graphql 查询过滤列表响应



我在桑格利亚汽酒(scala(上运行一个graphQL服务器。下面是一个示例查询:

query {
missions { 
missionId { id } ,
name
}
}

和示例响应:

{
"data": {
"missions": [
{
"missionId": {
"id": "mission1"
},
"name": "foo"
},
{
"missionId": {
"id": "mission2"
},
"name": "bar"
}
]
}
}

我正在寻找一个过滤列表并仅返回具有mission1作为 id 的元素的查询?

你需要实现分页。将limit(pageSize( 参数传递给服务器resolvergraphql。在服务器端处理数据。

query {
missions(limit: 1) { 
missionId { id } ,
name
}
}

服务器端:

const resolvers = {
Query: {
missions: (_, {limit}, ctx) => {
const missions = [];
for(let i = 0; i < limit; i++) {
missions.push(db.missions[i])
}
return missions;
}
}
}

这就是graphql意识形态,前端开发人员定义数据结构以及他们想要获得的数据。

通过 http 请求查询list数据是个坏主意。并使用directive或其他graphql方式在前端filter数据。浪费带宽。

相关内容

  • 没有找到相关文章

最新更新