Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.97 KB

README.MD

File metadata and controls

63 lines (46 loc) · 1.97 KB

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.