我已经创建了一个GraphQL查询,该查询的条件非常复杂,但是在阿波罗GraphQL iOS客户机中,编译该项目后无法更改查询。阿波罗GraphQL iOS客户端使您有机会更改查询中定义的变量,而不是查询本身。
我原来的灯塔GraphQL查询如下;
query ($first:Int, $page:Int) {
my_listings(
where: {
AND: [
{ column: NET_AREA, operator: GTE, value: 200 }
]
}
orderBy: [
{ column: ID, order: ASC }
]
first: $first
page: $page
) {
data {
...listingFields
}
paginatorInfo {
currentPage
lastPage
}
}
}
修改后的灯塔GraphQL查询就是这样,只添加了$conditions变量,这是MyListingsWhereWhereConditions
类型。
query($first: Int, $page: Int, $conditions:MyListingsWhereWhereConditions) {
my_listings(
where: $conditions
orderBy: [{ column: ID, order: ASC }]
first: $first
page: $page
) {
data {
...listingFields
}
paginatorInfo {
currentPage
lastPage
}
}
}
当我将以下变量分配到第二个查询时,灯塔服务器将返回以下消息
{
"first": 1,
"page": 1,
"conditions": {"AND": {"column": "PRICE", "operator": "LTE","value": "190"}}
}
错误信息
Variable \"$conditions\" got invalid value {\"AND\":{\"column\":\"PRICE\",\"operator\":\"LTE\",\"value\":\"190\"}}; Expected type MyListingsWhereWhereConditions to be an object at value.AND.column.
有办法在变量中给出这些条件吗?没有它,我就找不到一种方法来改变iOS客户端的位置条件。
发布于 2020-11-17 19:15:43
"AND“应该包含对象数组,而不是对象。
"conditions": {"AND": [{"column": "PRICE", "operator": "LTE","value": "190"}}]
https://stackoverflow.com/questions/64876804
复制相似问题