KGraphQL Kotlin GraphQL轻量实现

纯 Kotlin 写的KGraphQL,上手挺轻松,尤其适合用惯了 Kotlin DSL 的你。直接用.schema方法就能声明 GraphQL 模式,写法跟定义数据类一样直观。

比如你有个Article类,定义查询的时候写:

val schema = KGraphQL.schema {
  query("article") {
    resolver { id: Int?, text: String -> Article(id ?: -1, text) }
  }
}

整个流程流畅,少了不少样板代码,响应也快。

graphql-kotlin比,它更偏向轻量和纯手写控制,不需要太多配置,也不绑框架,适合自己想清楚怎么写 schema 的场景。嗯,如果你不喜欢被注解束缚,KGraphQL 还蛮适合你。

搭配其他 Kotlin DSL 库也舒服,比如你前端用 Ktor 或者kotlinx.html,后端用 KGraphQL,整个项目风格统一,还挺爽的。

想深入点可以看看graphql-kotlin的自动代码生成,或者搭配GraphQL-Ktor做服务端。两者结合也不冲突,就看你怎么选。

注意一点:虽然 KGraphQL 好用,但文档偏少,新手要多看看源码。建议配合官方示例一起上手,边用边理解,效率更高。

如果你想用 Kotlin 打造一个从数据类到 GraphQL 接口都统一风格的服务,不妨试试 KGraphQL,写起来确实舒服。

folder
KGraphQL:纯Kotlin GraphQL实现 预估大小:373个文件
file
application.conf 166B
file
gradlew.bat 3KB
file
atom-one-dark-reasonable.css 2KB
file
purebasic.css 2KB
file
vs2015.css 1KB
file
night-owl.css 3KB
file
a11y-light.css 1KB
file
shades-of-purple.css 1KB
file
nord.css 3KB
file
nnfx-dark.css 1KB
file
isbl-editor-light.css 1KB
file
gruvbox-dark.css 1KB
file
atelier-estuary-light.css 1KB
file
atelier-savanna-light.css 1KB
file
grayscale.css 2KB
file
gruvbox-light.css 1KB
file
nnfx.css 1KB
file
hybrid.css 1KB
file
a11y-dark.css 1KB
file
isbl-editor-dark.css 1KB
zip 文件大小:1.04MB