graphql-kotlin

Code-only GraphQL schema generation for Kotlin

Github stars Tracking Chart

GraphQL Kotlin

Build Status
codecov
Docs
Slack
Awesome Kotlin Badge

GraphQL Kotlin consists of number of libraries that aim to simplify running a GraphQL server in Kotlin.

? Modules

⌨️ Usage

Below is a basic example of how graphql-kotlin-schema-generator converts your Kotlin code into a GraphQL schema. For more details, see our documentation below or in the individual module READMEs

// Your existing Kotlin code

data class Widget(val id: Int, val value: String)

class WidgetService {
  fun widgetById(id: Int): Widget? {
    // grabs widget from a data source, might return null
  }
}

// Generate the schema

val config = SchemaGeneratorConfig(supportedPackages = listOf("org.example"))
val queries = listOf(TopLevelObject(WidgetService()))

toSchema(config, queries)

will generate

type Query {
  widgetById(id: Int!): Widget
}

type Widget {
  id: Int!
  value: String!
}

? Documentation

Examples and documentation are available on our documentation, or in each module README file.

If you have a question about something you can not find in our documentation, the indivdual modules, or javadocs, feel free to create an issue and tag it with the question label.

? Contact

This project is part of Expedia Group Open Source but also maintained by a dedicated team

✏️ Contributing

To get started, please fork the repo and checkout a new branch. You can then build the library locally with Gradle

./gradlew clean build

See more info in CONTRIBUTING.md

⚖️ License

This library is licensed under the Apache License, Version 2.0

Main metrics

Overview
Name With OwnerExpediaGroup/graphql-kotlin
Primary LanguageKotlin
Program languageKotlin (Language Count: 6)
Platform
License:Apache License 2.0
所有者活动
Created At2018-09-13 22:41:30
Pushed At2025-05-27 22:32:42
Last Commit At2025-05-11 21:13:21
Release Count262
Last Release Name8.8.0 (Posted on )
First Release Name0.0.1 (Posted on )
用户参与
Stargazers Count1.8k
Watchers Count32
Fork Count362
Commits Count1.1k
Has Issues Enabled
Issues Count583
Issue Open Count60
Pull Requests Count1149
Pull Requests Open Count13
Pull Requests Close Count168
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private