我在桑格利亚汽酒(scala(上运行一个graphQL服务器。下面是一个示例查询:
query {
missions {
missionId { id } ,
name
}
}
和示例响应:
{
"data": {
"missions": [
{
"missionId": {
"id": "mission1"
},
"name": "foo"
},
{
"missionId": {
"id": "mission2"
},
"name": "bar"
}
]
}
}
我正在寻找一个过滤列表并仅返回具有mission1
作为 id 的元素的查询?
你需要实现分页。将limit
(pageSize
( 参数传递给服务器resolver
graphql
。在服务器端处理数据。
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
数据。浪费带宽。