如何使用内容协商将json转换为ktor中的kotlin对象?
我是Ktor的新手,我正在尝试构建一个处理登录凭据的后端。我正试图使用内容协商功能将JSON转换为本机Kotlin对象,但我一直收到一个不受支持的媒体类型异常。这是我的密码:如何使用内容协商将json转换为ktor中的kotlin对象?,json,xmlhttprequest,kotlin,ktor,Json,Xmlhttprequest,Kotlin,Ktor,我是Ktor的新手,我正在尝试构建一个处理登录凭据的后端。我正试图使用内容协商功能将JSON转换为本机Kotlin对象,但我一直收到一个不受支持的媒体类型异常。这是我的密码: fun Application.main() { install(CallLogging) install(DefaultHeaders) install(ContentNegotiation) { register(ContentType.Application.Json, Gso
fun Application.main() {
install(CallLogging)
install(DefaultHeaders)
install(ContentNegotiation) {
register(ContentType.Application.Json, GsonConverter())
}
routing {
get("/") {
call.respondHtml {
head {
title("Kotlin Webapp")
script {
type = ScriptType.textJScript
src = "main.bundle.js"
}
}
body {
div {
id = "root"
}
}
}
}
post("/login") {
val credentials = call.receive<Credentials>()
println(credentials)
}
}
}
data class Credentials(val username: String, val password: String)
我在网上搜索了答案,但找不到我做错了什么。有人能帮忙吗?为了完整起见,因为我的评论似乎有帮助: 在这种情况下,您需要确保将请求设置为正确的值,否则服务器无法完全确定如何处理接收到的内容 在请求中(例如或),客户机告诉服务器实际发送的数据类型
为了完整起见,由于我的评论似乎有所帮助: 在这种情况下,您需要确保将请求设置为正确的值,否则服务器无法完全确定如何处理接收到的内容 在请求中(例如或),客户机告诉服务器实际发送的数据类型
请求的内容类型是否正确?这似乎是我的问题。谢谢请求的内容类型是否正确?这似乎是我的问题。谢谢
{"username":"Jamdan2","password":"sometext"}
xhr.setRequestHeader("Content-Type", "application/json");