微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ktor-client :如何将帖子正文序列化为特定类型

如何解决ktor-client :如何将帖子正文序列化为特定类型

使用 ktor 客户端,我有一个从可序列化对象派生的不可序列化对象,如下所示:

@Serializable
@SerialName("login-request")
open class LoginRequest (
    open val email : String = "",open val password : String = ""
) : ServiceRequestPayload

实现类

class LoginRequestVo : LoginRequest("",""),NodeComponent by NodeComponentImpl() {
    override val email: String by subject("")
    override val password: String by subject("")
}

现在,当我像这样手动使用 kotlinx 序列化时:

val request : LoginRequest = LoginRequestVo().apply {
    email = "test@gmail.com"
    password = "password"
}

val str = Json.encodetoString(request)
println(str)

它正确地序列化了它,当在另一端反序列化时,它正确地反序列化为 LoginRequest。但是,当我使用 ktor-client 序列化我的对象时,它抱怨 LoginRequestVo 不可序列化。下面的示例代码使用了我项目中的一些其他对象,并提供了您需要的更多信息,但要点是调用函数U 的类型,因此 request.payload 表达式是类型 {{1 }} 由下面的 LoginRequest 指定。

LoginServiceImpl

我得到的错误是:

enter image description here

我的问题是,有没有办法指定 ktor-client 需要序列化主体时要使用的类型或序列化程序?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。