Skip to content

Instantly share code, notes, and snippets.

plugins {
kotlin("jvm")
id("io.github.ermadmi78.kobby") version "1.4.0"
}
dependencies {
// Add this dependency to enable Jackson annotation generation in DTO classes
compileOnly("com.fasterxml.jackson.core:jackson-annotations:2.12.2")
// Add this dependency to enable default Ktor adapters generation
# GraphQL
subscription {
filmCreated {
id
title
}
}
# GraphQL
query {
film(id: 0) {
id
title
actors {
id
firstName
lastName
}
# GraphQL
mutation {
createFilm(title: "My Film") {
id
title
}
}
// Instantiate DSL context
val context = cinemaContextOf(createKtorAdapter())
launch(Dispatchers.Default) {
context.subscription {
filmCreated {
id()
title()
}
}.subscribe {
{
"data": {
"filmCreated": {
"id": "4",
"title": "My Film"
}
}
}
subscription {
filmCreated {
id
title
}
}
// Instantiate DSL context
val context = cinemaContextOf(createKtorAdapter())
val result = context.mutation {
createFilm(title = "My Film") {
id()
title()
}
}
{
"data": {
"createFilm": {
"id": "4",
"title": "My Film"
}
}
}
mutation {
createFilm(title: "My Film") {
id
title
}
}