知海

Kotlin:graphql-kotlin(服务端)

graphql-github-io-zh-Hans生态项目与库

Kotlin:graphql-kotlin(服务端)

graphql-kotlin 是一套用于在 Kotlin 中运行 GraphQL 客户端和服务端的库。它采用代码先行(code first)的方法生成 GraphQL schema。由于 Kotlin 和 GraphQL 之间具有相似性,例如定义可空/非空类型的能力,因此可以直接从 Kotlin 代码生成 schema,而无需单独的 schema 规范。

添加依赖

要创建响应式 GraphQL Web 服务器,请在 Gradle 构建文件中添加以下依赖:

kotlin 复制代码
// build.gradle.kts
implementation("com.expediagroup", "graphql-kotlin-spring-server", latestVersion)

配置包扫描

我们还需要提供一个受支持的包列表,以便通过反射扫描并暴露 schema 对象。在 application.yml 文件中添加以下配置:

yaml 复制代码
graphql:
  packages:
    - "com.your.package"

创建 Schema

完成上述配置后,即可创建 schema。要在 GraphQL schema 中暴露查询(Query)、变更(Mutation)和订阅(Subscription),只需实现对应的标记接口,graphql-kotlin-spring-server 的自动配置库便会自动拾取它们。

kotlin 复制代码
@Component
class HelloWorldQuery : Query {
  fun helloWorld() = "Hello World!!!"
}

上述代码会生成一个响应式 GraphQL Web 应用,其 schema 如下:

graphql 复制代码
type Query {
  helloWorld: String!
}

更多详细信息,请参阅 graphql-kotlin 文档

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。