我有一个GraphQL查询,它在https://developers.facebook.com/tools/debug/的操场上运行。
为了在此处运行任何查询,您需要以下承载令牌作为http_headers的一部分:
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkOWVlNDBhNDYyMGNiMzBiZjdhZGVlMyIsImlzQWRtaW4iOnRydWUsImlhdCI6MTU5MzE3MzA1MSwiZXhwIjoxNTk1NzY1MDUxfQ.42yWHgpXlkPaeNqGNDyPKDAhbtGRz_MYfZrlZP2lF6U"
}
这是我的查询
query posts($limit: Int!, $start: Int!) {
posts(sort: "createdAt:DESC",
limit: $limit,
start: $start,
where: {
isPublished: true,
title_contains: "random text"
}) {
id
title
}
}
可以看出,该查询包含2个变量:
{
"limit": 1,
"start": 0,
}
现在,如果将random text
替换为Lorem
,则会得到结果,因为确实存在包含该单词的条目。使用表达式random text
进行搜索将返回空数组,因为在其title
字段中不存在该表达式项。
这是预期的行为。
现在,我想使搜索值动态化。所以我这样做了:
query posts($limit: Int!, $start: Int!, $search_string: String!) {
posts(
sort: "createdAt:DESC",
limit: $limit,
start: $start,
where: {
isPublished: true,
title_contains: $search_string,
}) {
id
title
}
}
在这里,我通过这样的变量接受搜索值:
{
"limit": 1,
"start": 0,
"search_string": "random"
}
这次,变量search_string
被完全忽略,查询仅返回数据库中的第一个条目,就好像搜索子句从不存在一样!我在做什么错了?
P.S。就其价值而言, Strapi v3.0.0 beta 17 为后端提供服务。