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

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)

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

All contributions are welcome. Feel free to open issues and PRs!

Building

To build KGraphQL you only need to have JDK 11 installed. Invoke

./gradlew build

To perform local build.

Versioning

The versioning from 1.0.0 on is following Semantic Versioning

Links

Specification: https://spec.graphql.org/

License

KGraphQL is Open Source software released under the MIT license