Byttet ut Jackson med KotlinX, la til respons

Co-authored-by: Sindre Kjelsrud <sindre.kjelsrud@nav.no>
Co-authored-by: Markus A. R. Johansen <markus.aleksander.rakil.johansen@nav.no>
This commit is contained in:
Amalie Mansåker 2023-07-05 10:54:33 +02:00
parent fdf54063c2
commit e49bce0470
3 changed files with 9 additions and 12 deletions

View file

@ -5,6 +5,8 @@ val logback_version: String by project
plugins { plugins {
kotlin("jvm") version "1.8.22" kotlin("jvm") version "1.8.22"
id("io.ktor.plugin") version "2.3.2" id("io.ktor.plugin") version "2.3.2"
kotlin("plugin.serialization") version "1.8.21"
} }
group = "no.nav.helse.sprik" group = "no.nav.helse.sprik"
@ -31,6 +33,4 @@ dependencies {
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version")
implementation("io.ktor:ktor-server-content-negotiation:$ktor_version") implementation("io.ktor:ktor-server-content-negotiation:$ktor_version")
implementation("io.ktor:ktor-client-content-negotiation:$ktor_version") implementation("io.ktor:ktor-client-content-negotiation:$ktor_version")
implementation("io.ktor:ktor-serialization-jackson:$ktor_version")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3")
} }

View file

@ -1,6 +1,9 @@
package no.nav.helse.sprik package no.nav.helse.sprik
class Test ( import kotlinx.serialization.*
@Serializable
data class Test (
var ord: String, var ord: String,
var tall: Int var tall: Int
) { ) {

View file

@ -1,13 +1,11 @@
package no.nav.helse.sprik.plugins package no.nav.helse.sprik.plugins
import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import io.ktor.http.* import io.ktor.http.*
import io.ktor.serialization.jackson.*
import io.ktor.server.routing.* import io.ktor.server.routing.*
import io.ktor.server.response.* import io.ktor.server.response.*
import io.ktor.server.application.* import io.ktor.server.application.*
import io.ktor.server.plugins.contentnegotiation.* import io.ktor.server.plugins.contentnegotiation.*
import io.ktor.serialization.kotlinx.json.*
import io.ktor.server.plugins.cors.routing.* import io.ktor.server.plugins.cors.routing.*
import io.ktor.server.request.* import io.ktor.server.request.*
import no.nav.helse.sprik.Test import no.nav.helse.sprik.Test
@ -17,14 +15,10 @@ fun Application.configureRouting() {
anyHost() anyHost()
allowMethod(HttpMethod.Get) allowMethod(HttpMethod.Get)
allowMethod(HttpMethod.Post) allowMethod(HttpMethod.Post)
//allowHeader(HttpHeaders.AccessControlAllowOrigin)
allowNonSimpleContentTypes = true allowNonSimpleContentTypes = true
} }
install(ContentNegotiation) { install(ContentNegotiation) {
jackson { json()
disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
registerModule(JavaTimeModule())
}
} }
routing { routing {
get("/") { get("/") {
@ -33,7 +27,7 @@ fun Application.configureRouting() {
post("/test") { post("/test") {
val test = call.receive<Test>() val test = call.receive<Test>()
println(test) println(test)
//call.respondText(test.toString()) call.respond(status = HttpStatusCode.Created, message = test)
} }
} }
} }