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-08 17:18:10
Last Commit At2025-05-08 09:30:01
Release Count260
Last Release Name9.0.0-alpha.8 (Posted on )
First Release Name0.0.1 (Posted on )
用户参与
Stargazers Count1.8k
Watchers Count31
Fork Count360
Commits Count1.1k
Has Issues Enabled
Issues Count582
Issue Open Count59
Pull Requests Count1146
Pull Requests Open Count11
Pull Requests Close Count167
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private