Android Retrifit 2 如何向服务器发送空值
Android How to send null value to server by Retrifit 2
我有一个问题
@PUT("/share/{shareID}")
fun updateShare(@Header("auth") auth: String,
@Path("shareID") shareID: String?,
@Body body: UpdateShare): Call<UpdateShareResponce>
更新共享class
class UpdateShare {
@SerializedName("expireAt")
var expireAt: Long? = 0
}
我有一个情况,字段“expireAt”必须为空,我需要将它发送到服务器。但是改造会忽略空字段。我该怎么做?
您可以指定一个 int 值作为 null,例如,您可以在值应该为 null 时发送 -1 并且在 server-side 上,当收到此值时保存 null 值而不是 -1在数据库中。
我找到了解决方案。
需要添加到改造生成器这个
val 改造 = Retrofit.Builder()
.baseUrl(DIRECTORY_URL)
.client(客户端)
.addConverterFactory(GsonConverterFactory.create(GsonBuilder().serializeNulls().create()))
.build()
我有一个问题
@PUT("/share/{shareID}")
fun updateShare(@Header("auth") auth: String,
@Path("shareID") shareID: String?,
@Body body: UpdateShare): Call<UpdateShareResponce>
更新共享class
class UpdateShare {
@SerializedName("expireAt")
var expireAt: Long? = 0
}
我有一个情况,字段“expireAt”必须为空,我需要将它发送到服务器。但是改造会忽略空字段。我该怎么做?
您可以指定一个 int 值作为 null,例如,您可以在值应该为 null 时发送 -1 并且在 server-side 上,当收到此值时保存 null 值而不是 -1在数据库中。
我找到了解决方案。 需要添加到改造生成器这个
val 改造 = Retrofit.Builder() .baseUrl(DIRECTORY_URL) .client(客户端) .addConverterFactory(GsonConverterFactory.create(GsonBuilder().serializeNulls().create())) .build()