feat(connector): split Routing and add Serialization

This commit is contained in:
Anthony 2024-04-05 20:00:25 +02:00
parent db775bfdea
commit c3a2fbac13
4 changed files with 31 additions and 9 deletions

View File

@ -2,6 +2,7 @@ plugins {
alias(libs.plugins.kotlinJvm) alias(libs.plugins.kotlinJvm)
alias(libs.plugins.ktor) alias(libs.plugins.ktor)
application application
id("org.jetbrains.kotlin.plugin.serialization") version "1.9.23"
} }
val sl4jVersion = "2.0.12" val sl4jVersion = "2.0.12"
@ -22,5 +23,8 @@ dependencies {
testImplementation(libs.ktor.server.tests) testImplementation(libs.ktor.server.tests)
testImplementation(libs.kotlin.test.junit) testImplementation(libs.kotlin.test.junit)
implementation("io.ktor:ktor-server-content-negotiation-jvm")
implementation("io.ktor:ktor-serialization-kotlinx-json-jvm")
implementation("dk.au.ece.vdmj:vdmj:$vdmjVersion") implementation("dk.au.ece.vdmj:vdmj:$vdmjVersion")
} }

View File

@ -1,12 +1,11 @@
package io.anthonyberg.connector package io.anthonyberg.connector
import SERVER_PORT import SERVER_PORT
import io.anthonyberg.connector.vdmj.VDMJ import io.anthonyberg.connector.plugins.configureRouting
import io.anthonyberg.connector.plugins.configureSerialization
import io.ktor.server.application.* import io.ktor.server.application.*
import io.ktor.server.engine.* import io.ktor.server.engine.*
import io.ktor.server.netty.* import io.ktor.server.netty.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
fun main() { fun main() {
embeddedServer(Netty, port = SERVER_PORT, host = "0.0.0.0", module = Application::module) embeddedServer(Netty, port = SERVER_PORT, host = "0.0.0.0", module = Application::module)
@ -14,10 +13,6 @@ fun main() {
} }
fun Application.module() { fun Application.module() {
routing { configureRouting()
get("/") { configureSerialization()
val vdm = VDMJ().run("complete_procedure(\"Before Start\", aircraft)")
call.respondText("Ktor: $vdm")
}
}
} }

View File

@ -0,0 +1,11 @@
package io.anthonyberg.connector.plugins
import io.anthonyberg.connector.routes.vdmjRouting
import io.ktor.server.application.*
import io.ktor.server.routing.*
fun Application.configureRouting() {
routing {
vdmjRouting()
}
}

View File

@ -0,0 +1,12 @@
package io.anthonyberg.connector.plugins
import io.ktor.serialization.kotlinx.json.*
import io.ktor.server.application.*
import io.ktor.server.plugins.contentnegotiation.*
fun Application.configureSerialization() {
install(ContentNegotiation) {
json()
}
}