Skip to content

aPureBase/KGraphQL

This branch is 369 commits ahead of, 1 commit behind pgutkowski/KGraphQL:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

35754dd · Jan 27, 2023
Jan 27, 2023
Feb 19, 2020
Oct 4, 2022
Oct 4, 2022
Jan 27, 2023
Jan 27, 2023
Jan 27, 2023
Nov 11, 2019
Feb 19, 2020
Jul 24, 2019
May 30, 2017
Apr 17, 2021
Jan 27, 2023
Jan 27, 2023
Sep 24, 2020
Sep 24, 2020
Apr 5, 2021

Repository files navigation

KGraphQL

Maven Central Awesome Kotlin Badge Chat

KGraphQL is a Kotlin implementation of GraphQL. 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 JDK8 installed. invoke

./gradlew build

To perform local build.

Versioning

The versioning is following Semantic Versioning

Links

Specification : http://facebook.github.io/graphql/

License

KGraphQL is Open Source software released under the MIT license