在 kotlin Android Studio 中发送数据类时,POST 调用的正文中会传递什么?

问题描述 投票:0回答:1

我在 kotlin Android Studio 中使用改造有这个帖子请求

@POST("/registerUser.php")
    suspend fun createPost(
        @Body user: User
    ):Response<User>

数据类 User 是

data class User(
    //val id: Int?,
    val username:String?,
    val address: String?
)

如果我检查用户的内容

val user = User("Kilo", "Old")
Log.d("TAG", "$user")
RetrofitInstance.api.createPost(user) <----- This makes the @POST

我明白了

User(username=Kilo, address=Old)

那么我在服务器端收到了什么?它将所有内容都转换为 json 还是只是通过 用户(用户名=Kilo,地址=旧)?

kotlin android-studio retrofit
1个回答
0
投票

当您在 POST 请求中使用 Retrofit 的 @Body 注解发送 User 对象时,Retrofit 应自动将 User 对象序列化为 JSON,然后再将其发送到服务器。在您的情况下,用户对象的序列化 JSON 表示形式将如下所示:

{
    "username": "Kilo",
    "address": "Old"
}

在服务器端,您应该接收此 JSON 数据作为请求正文。然后,您可以解析此 JSON 数据以访问各个字段,例如

username
address
。服务器应自动设置为处理传入的 JSON 数据并将其反序列化。

© www.soinside.com 2019 - 2024. All rights reserved.