这篇文章是什么?
使用Kotlin graphql-java-tools,我们将总结从实现GraphQL服务器到返回响应的过程。
本文中包含的
-构建一个简单的GraphQL服务器
不包括在本文中
--N 1问题对策
-分页实现
关于graphql-java-tools
它提供了作为GraphQL服务器的功能。
称为graphql-spring-boot的工具在内部也使用graphql-java-tools。
GraphQL服务器本身不充当Web应用程序服务器。
您需要使用任何框架或库。
在本文中,我们将使用Ktor。
实施流程
根解析器和解析器
之间的区别
graphql-java-tools具有两种类型的
考虑实现以下GraphQL模式。
父
example.graphql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | type Query { parent: Parent! } type Parent { id: ID! name: String! child: Child! } type Child { id: ID! name: String! } |
通过graphql-java-tools返回具有这种具有A关系的数据时,有必要实现两种类型,
每个角色的作用如下。
RootResolver:
引用父项时实施处理。
由对端点的请求触发。
解析器:
当引用Parent.Child时实现处理。
当注册的父类被称为触发器时,将调用它。
很难理解,因此我将通过一个示例进行解释。
当用Kotlin类表示
1 2 3 4 5 6 7 8 9 10 | data class Parent( val id: Int, val name: String, val childId: Int ) data class Child( val id: Int, val name: String ) |
要返回
为此,您需要
当返回指定的类作为响应时,它可以接收
因此,通过在
总结???
引用查询中定义的端点时的处理-