首页 > 解决方案 > 必须在 AWS amplify 中为 Source 提供 graphql API 调用

问题描述

在 AWS amplify 中调用 graphql API 时出现错误

我导入查询,例如(就像在带有 * 的文档中一样):

import * as queries from '../graphql/queries';

这是我收到错误的 API 请求(必须提供来源):

const data = await API.graphql(graphqlOperation(queries.nearbyZVL, {filter: filter}));

在同一个文件中,另一个 API 请求如下所示正常工作:

const result = await API.graphql(graphqlOperation(queries.getProfile, { id: cognitoUserId }));

附近的 ZVL 是 AWS appsync 中的自定义查询和解析器。在 appsync 控制台中,查询工作正常!

一些帮助表示赞赏!:)

标签: amazon-web-servicesgraphqlaws-amplifyresolveramplifyjs

解决方案


不知道为什么它没有在 codegen 中生成 - 要创建自定义解析器,您是在 appsync 控制台上手动编辑,还是在 下添加文件/amplify/backend?对于后者,它应该代码生成。如果你做了前者,考虑做后者。

在您的情况下,您可以简单地执行以下操作:

const GetNearbyZVL = `...` // the query that works in appsync console

const data = await API.graphql(graphqlOperation(GetNearbyZVL, {filter: filter}));

推荐阅读