我正在使用Apollo Angular并托管一个GraphQL驱动的服务器。我试图实现的请求很简单。我需要传递一个对象作为我请求的查询参数。这是我的请求:
return this.apollo
.watchQuery({
query: this.ListQuery,
variables: {
boundaries: {
east: boundaries.east,
west: boundaries.west,
north: boundaries.north,
south: boundaries.south,
}
},
fetchPolicy: 'no-cache',
})
.valueChanges.pipe(
map(({data}: any) => data.spots ? data.spots.map((spot) => new Spot(spot)) : [])
);
查询定义为:
query SpotList($boundaries: Boundaries) {
spots (boundaries: $boundaries) {
...
服务器上的我的架构定义为:
type Query {
spot(id: String!): Spot
spots(boundaries: Boundaries): [Spot!]!
}
input Boundaries {
east: Float
north: Float
south: Float
west: Float
}
当我的解析器功能
@Query()
async spots(boundaries) {
console.log(boundaries) //return undefined
我想知道是否允许输入作为查询中的参数,如果不允许,我应该使用什么样的模式或实践。
如果可能,我不希望我的查询
在代码中显式地包含每个参数。
非常感谢。
编辑:已解决,解析程序函数中的行为,从嵌套查询装饰器(具有(对象、参数、上下文、信息)模式到其解析程序函数。
正如我在问题中忘记提到的,我使用的是Nest服务器端,@nestjs/graphql引入的Decorator@Query为解析器函数提供了一个特殊的签名。
我正在学习Apollo和graphQL,并将其集成到我的一个项目中。到目前为止一切正常,但现在我正在尝试一些突变,我正在努力处理输入类型和查询类型。我觉得事情比实际情况要复杂得多,因此我正在寻求如何处理我的情况的建议。我在网上找到的示例都是非常基本的模式,但现实总是更加复杂,因为我的模式非常大,如下所示(我只复制一部分): 然后定义输入和负载,依此类推... 为此,我需要一个变异来保存“计算”,因
如果我更改为: 代码运行良好-但我想转换工作。
我是GraphQL新手,在编写了一些代码之后,我遇到了一个问题,即为一个突变声明一个输入类型。以下是我的模式: 当我运行我的应用程序时,我得到了错误信息 原因:graphql。kickstart。工具。SchemaError:预期类型“IdInput”是GraphQLInputType,但事实并非如此!类型是否只允许对象类型被错误地用作输入类型,反之亦然?在graphql。kickstart。工具
问题内容: 我们最近将数据库从MSSQL切换到MySQL,使用参数的查询不再起作用。 这是MSSQL中的查询示例: 通常,参数浏览器会弹出并询问:id的值,但是在MySQL中,我会收到此错误: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在’:id’附近使用正确的语法 我尝试使用@或?代替:,它不起作用。 在此先感谢您的帮助。 问题答案: 语法不一样 用户定义变量的文档
我想使用泛型类作为另一个泛型类的类型参数。 起初,我对类的定义是这样的: 然后我的需求发生了变化,我不得不为我的R类型使用包装器/持有者类 到目前为止,我的尝试:(给出编译时错误:
我认为我的问题是一个常见的问题,我正在权衡作为解决方案的GraphQL的成本和收益。 我在一个产品上工作,该产品的数据由基于CRUD的RESTAPI存储。我们的应用程序组件公开了一个数据搜索接口,当然需要某种服务器端支持来请求该数据。这可以包括排序、筛选、选择字段等。当然,在Hibernate上下文中提供这些功能的更传统方式,比如endpoint的查询参数附加项,但是在这一上下文中尝试CopyQL