KGraphQL
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