Apollo GraphQL查询未读取字符串变量

时间:2020-07-13 07:54:13

标签: graphql strapi

我有一个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 为后端提供服务。

0 个答案:

没有答案