android 如何更改改装车身请求中的字段?

92vpleto  于 2022-12-28  发布在  Android
关注(0)|答案(1)|浏览(98)

我正在使用retrofit(我是新手)和gson将一个对象序列化为一个json,然后通过API(POST)发送,这个对象有一个日期字段,当序列化它时,api无法识别它,它会响应如下:

{"detail":[{"loc":["body","birth_date"],"msg":"invalid date format","type":"value_error.date"}]}

我的班级:

data class User(
    var name: String = "",
    var email: String = "",
    @PrimaryKey(autoGenerate = false)
    var id: String = UUID.randomUUID().toString(),
    var sex: String? = null,
    @SerializedName("birth_date")
    var birthDate: Date = Date()
)

我对API的调用:

@POST("user/me")
    suspend fun createUser(@Header(AUTH_HEADER) token: String, @Body user: User): Response<User>

根据API文档,日期格式应为:

"birth_date": "2022-12-22"

我如何更改birthDate的值以匹配请求主体上的API格式?

czq61nw1

czq61nw11#

如你所见

"birth_date": "2022-12-22"

上述日期值是字符串格式。请尝试将数据类型日期更改为字符串

data class User(
    ....
    @SerializedName("birth_date")
    var birthDate: String = ""
)

希望它能起作用:)

相关问题