如何以DDD方式使用java-graphql和neo4j构建graphql服务器?

时间:2019-04-25 22:24:18

标签: java kotlin neo4j graphql domain-driven-design

我有一个kotlin后端,并且我使用Javalin作为应用服务器,并使用graphql-javagraphql-java-tools库来构建我的GraphQL服务器。

我正在使用(或尝试)DDD,那么我的域模型只需要关注业务规则。

调用链类似于EntityResolver与>调用的Aggregate Root>调用的> Business Service>存储库接口,您的实现位于基础结构中,并与粗体驱动程序进行通信。我只有解析器来汇总根。

我的问题是,如何在各层之间传递GraphQL并以DDD方式进行cypher查询?

例如:

具有此定义...

type Person {
   id: ID!
   relations: [Person!]!
}

...可能会执行

person {
   id
   relations {
        id
        relations {
            id(relations-size: 2)
        }
   }
}

存储库实现不知道咨询的深度,因此我建立一个深密码查询总是给我带来很大的结果是没有道理的。该域也不知道客户端被选择的参数。

我认为,也许我对Resolvers失去了一些了解。有什么方法可以有效地构建各层之间的对话,并保持域范围而无需基础架构问题?

0 个答案:

没有答案