【发布时间】:2021-03-21 22:03:54
【问题描述】:
我的 AppSync Lambda 解析器中有这个 GraphQL 选择集:
{
recommendationId
items {
id
name
}
}
我需要items 中的选择集,这将是严重嵌套的。
我怎样才能得到这个输出?
{
id
name
}
上下文(将业务对象替换为Object):
schema.graphql
type Object {
id: ID!
name: String!
}
type Query {
getObjectsById(objectsById: ObjectsByID!): [Object]
listRecommendedObjects(personId: ID!): RecommendedObjects
}
input ObjectsByID {
ids: [ID!]!
}
type RecommendedObjects {
items: [Object]
recommendationId: String
}
内部解析器:
const buildQuery = (selectionSetGraphQL) =>
`query MyQuery($objectsById: ObjectsByID!) {
getObjectsById(objectsById: $objectsById) ${selectionSetGraphQL}
}`
目标:
调用 listRecommendedObjects 将调用自定义 lambda,该 lambda 将与 AWS Personalize 对话以获取项目 ID。
然后,我想使用 Object 的选择集在该 Lambda 中调用 getObjectsById 以从 Personalize 获取项目 ID 的数据
【问题讨论】:
-
只需遍历选择集的字段,直到找到
items一个? javascript代码在哪里? -
不是对象,是字符串。
-
等等,你还没有解析查询?请发布正在处理此问题的代码以提供一些上下文。
-
@Bergi 我确实使用信息对象:docs.aws.amazon.com/appsync/latest/devguide/…
-
@Bergi 可以使用 graphql-js。谢谢
标签: javascript graphql aws-appsync