Skip to content

Latest commit

 

History

History
70 lines (51 loc) · 2.41 KB

File metadata and controls

70 lines (51 loc) · 2.41 KB

KGraphQL

Maven Central codecov Slack Awesome Kotlin

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)
}

History

KGraphQL was initially created by Paweł Gutkowski and then continued by Jógvan Olsen. Huge thanks to both of them for starting this amazing library!

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.