AppSync GraphQL 模拟解析器映射未生成唯一项

AppSync GraphQL Mocking Resolver Map Not Generating Unique Items

我的模拟没有为每个项目生成唯一数据,而是每个项目都具有相同的字段值。

选项 1:(理想方法,结果不正确)

AppSync 架构包含 [Model]items 字段,如果我单独放置 Model 解析器,items 中的所有 Model列表具有相同的值。

const mocks = {
  ModelModelConnection: () => ({
    items: () => new MockList(5),
  }),
  Model: () => ({
    id: casual.uuid,
    name: casual.title,
  }),
};

结果...


选项 2:(替代方法,正确结果)

const mocks = {
  ModelModelConnection: () => ({
    items: () => new MockList(5, () => ({
      id: casual.uuid,
      name: casual.title,
    })),
  }),
};


我想选择选项 1,但我似乎无法获得要模拟的独特物品。一直在挠我的头。提前致谢!

the docs所示,如果您想在每次触发字段的解析器时生成不同的值,模拟解析器应该是一个函数,而不是一个值。所以代替:

Model: () => ({
  id: casual.uuid,
  name: casual.title,
}),

你应该做的:

Model: () => ({
  id: () => casual.uuid,
  name: () => casual.title,
}),

这会导致每次解析字段时调用 idname