Skip to content

Pure Kotlin GraphQL implementation

License

Notifications You must be signed in to change notification settings

stuebingerb/KGraphQL

Repository files navigation

KGraphQL

Maven Central CodeQL

KGraphQL is a Kotlin implementation of GraphQL based on aPureBase/KGraphQL. It provides a rich DSL to set up the GraphQL schema.

data class Article(val id: Int, val text: String)

suspend fun main() {
    val schema = KGraphQL.schema {
        query("article") {
            resolver { id: Int?, text: String ->
                Article(id ?: -1, text)
            }
        }
        type<Article> {
            property<String>("fullText") {
                resolver { article: Article ->
                    "${article.id}: ${article.text}"
                }
            }
        }
    }

    schema.execute("""
        {
            article(id: 5, text: "Hello World") {
                id
                fullText
            }
        }
    """.trimIndent()).let(::println)
}

Documentation

See the documentation for a more detailed explanation of the library.

Contributing

See Contributing.

Examples

Working examples are located in the examples folder. Every example is its own project, separated from the library build. To build and/or run it, move into the folder of the example (e.g. ktor) and execute Gradle tasks from there.

Versioning

The versioning from 1.0.0 on follows Semantic Versioning.

Links

GraphQL specification: https://spec.graphql.org/

License

KGraphQL is Open Source software released under the MIT license.

About

Pure Kotlin GraphQL implementation

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages