graphql - GraphQL 查询中的变量
问题描述
我正在尝试将变量与 GraphQL 查询一起使用,但浏览器响应错误请求。
这是我的代码
return this.apollo.query({
query: gql `query Project($projectId: String!){
project( where: { id: $projectId } )
{
id
initials
}
}`,
variables: { projectId: pid },
fetchPolicy: 'network-only'
})
由于某种原因,它没有在查询中选择项目变量。当我用硬编码值替换变量时,它工作正常。你能帮我理解为什么吗?
解决方案
代码的问题在于 $projectId 的数据类型。这是数据库中的实际 id(在我的例子中是 prisma)。所以我将代码更改为:
return this.apollo.query({
query: gql `query Project($projectId: ID!){
project( where: { id: $projectId } )
{
id
initials
}
}`,
variables: { projectId: pid },
fetchPolicy: 'network-only'
})
及其现在的工作。
我发现 graphql playground 非常有用,并且在屏幕底部提供了变量。这样你就可以更快地调试代码
推荐阅读
- c# - 如何订购多文本框
- c - C中矩阵的排列
- javascript - 它没有一个一个地切换到一个主题,而是以“太阳能”主题结束并且不会改变。有什么问题?
- plot - 如何在 VSCode 中内联绘图?
- bitmap - MIPS:基于文本文件的彩色位图 (mars-sim)
- google-chrome-devtools - Apollo Client:观察查询和主动查询的区别
- nginx - nginx总是404反向代理
- javascript - guildMemberAdd 事件成员变量返回客户端
- swift - 如何使用 Firebase 实时数据库制作部分并将图像放入 tableview
- blazor - 将 HttpClient 注入 Razor 类库中的 Blazor 组件