标签: resolver

合并Apollo Server的GraphQL解析器不能与Object.assign()一起使用

我正在为GraphQL API模块化我的架构,并尝试在不使用任何第三方库的情况下合并解析器。

有没有简单的方法可以做到这一点Lodash.merge()

Apollo文档说要使用Lodash之类的库来merge()模块化解析器。(http://dev.apollodata.com/tools/graphql-tools/generate-schema.html#modularizing

问题似乎在于,从本质上讲,解析器包含作为属性的函数,因此当我通过Object.assign()或什至访问解析器时,它们似乎被省略了JSON.stringify()

如果我console.log他们,我看到: {"Query":{},"Mutation":{}}

以下是解析器之一的外观:

 const productResolvers = {
   Query: {
     myProducts: (root, { userId }, context) => {
       return [
         { id: 1, amount: 100, expiry: '12625383984343', created: '12625383984343' },
         { id: 2, amount: 200, expiry: '12561351347311', created: '12625383984343' },
         { id: 3, amount: 200, expiry: '11346347378333', created: '12625383984343' },
         { id: 4, amount: 350, expiry: '23456234523453', created: '12625383984343' },
       ];
     },
   },
   Mutation: {
     addProduct: …
Run Code Online (Sandbox Code Playgroud)

schema resolver node.js graphql apollo-server

2
推荐指数
1
解决办法
1472
查看次数

OS / X“ etc / resolver / dev”无法正常工作-为什么不呢?

我希望能够www.foobar.dev使用在OS / X (High Sierra)系统上的VM中运行的DNS服务器解析DNS名称,因为我创建了/etc/resolver/dev包含以下一行的文件:(指定VM的虚拟地址)

nameserver ww.xx.yy.zz

...但是dig www.foobar.dev继续咨询Internet名称服务器,

dig @ww.xx.yy.zz www.foobar.dev成功地检索从VM的DNS条目。

我已使用该dscacheutil命令来确保DNS解析器缓存中没有错误的条目。

那么,为什么存在/etc/resolver/dev具有指定内容的文件不足以将“ anything.dev” 定向到指定的DNS服务器?

有趣的是,有时它似乎起作用。此外,命令scutil --dns生成以下期望的进入,这似乎表明该/etc/resolver/dev文件正在被发现!

resolver #8
  domain   : dev
  nameserver[0] : ww.xx.yy.zz
  flags    : Request A records
  reach    : 0x00020002 (Reachable,Directly Reachable Address)
Run Code Online (Sandbox Code Playgroud)

dns macos resolver

2
推荐指数
2
解决办法
2533
查看次数

我是否需要为每个实现新接口的服务调用编写一个路由解析器?

我有一个关于在 Angular 4 中路由的问题,尤其是处理数据的问题。

通过实现路由解析器,我的应用将受益匪浅;但是,我正在开发一个复杂的 Web 应用程序,并且在我的一个路由(一个联系页面)中,有几个组件正在呈现,每个组件都有不同的后端服务调用。每个调用都在实现不同的接口。这是由于数据库限制。

他们是我可以为我的每个服务编写 1 个解析器的一种方式,还是我需要为每个实现新接口的服务调用编写一个解析器?

resolver angular-routing angular

1
推荐指数
1
解决办法
739
查看次数

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

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

选项1:(理想的方法,错误的结果)

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

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

结果是... 结果


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

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

结果


我想选择选项 1,但我似乎无法让独特的项目被嘲笑。我一直在为这个摸不着头脑。提前致谢!

javascript mocking resolver graphql aws-appsync

1
推荐指数
1
解决办法
874
查看次数

SwiftUI @AppStorage 并不总是持久的价值

我正在@AppStorageString财产一起使用。更改属性值时,视图会自动更新以反映预期的更改。然而,大多数时候它并没有持续存在UserDefaults。我觉得自己错过了一些东西,这让我感觉很愚蠢。还有其他人看到这个吗?

脚步:

  • 启动应用程序
  • 改变值
  • 杀死并重新启动应用程序
  • 将值更改为其他值
  • 杀死并重新启动应用程序

环境:

  • Xcode 13.4 (13F17a)
  • iOS 15.5 - iPhone 13 Pro 模拟器

非常简单的例子:

struct ContentView: View {
    @AppStorage("token") var token: String = ""

    var body: some View {
        Form {
            Section("Token") {
                Text(token)
            }

            Section("Debug") {
                Button("Update 01") {
                    token = "token-01"
                }

                Button("Update 02") {
                    token = "token-02"
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

示例 gif

resolver ios swiftui appstorage

1
推荐指数
1
解决办法
1670
查看次数