我有一个kotlin
后端,并且我使用Javalin
作为应用服务器,并使用graphql-java
和graphql-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
失去了一些了解。有什么方法可以有效地构建各层之间的对话,并保持域范围而无需基础架构问题?