Android 如何通过 Retrifit 2 将空值发送到服务器

Ван*_*нов 2 android retrofit

我有一个疑问

@PUT("/share/{shareID}")
    fun updateShare(@Header("auth") auth: String,
                    @Path("shareID") shareID: String?,
                    @Body body: UpdateShare): Call<UpdateShareResponce>
Run Code Online (Sandbox Code Playgroud)

更新共享类

class UpdateShare {

    @SerializedName("expireAt")
    var expireAt: Long? = 0
}
Run Code Online (Sandbox Code Playgroud)

我有一个情况,字段“expireAt”必须为空,我需要将其发送到服务器。但改造会忽略带有 null 的字段。我怎样才能做到呢?

Ван*_*нов 7

我找到了解决方案。需要将其添加到改造构建器中

val Retrofit = Retrofit.Builder() .baseUrl(DIRECTORY_URL) .client(client) .addConverterFactory(GsonConverterFactory.create(GsonBuilder(). serializeNulls() .create())) .build()