为了账号安全,请及时绑定邮箱和手机立即绑定

改造 2 @FormUrlEncoded 与空字段

改造 2 @FormUrlEncoded 与空字段

ABOUTYOU 2022-05-21 20:01:40
我发送这个:@FormUrlEncoded@PUT("Devices/{id}")Call<Device> updateDeviceSync(        @Path("id") String id,        @Field("fieldName1") Integer fieldName1,        @Field("fieldName2") String fieldName2,        @Field("fieldName3") String fieldName3);我打电话给它:apiService.updateDeviceSync(deviceId, 0, null, timestamp)但它唯一的发送fieldName1和fieldName3我的 gsonbuilder 已经有了serializeNulls(),所以它应该在其中包含空值,但 logcat 显示它不包括fieldName2我需要在改造 2 中将 fieldName2 更新为 null
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

终于成功了,以下是我所做的更改:


将我的 api 更新为:


@PUT("Devices/{id}")

Call<Device> updateDeviceCurfewSync(             

    @Path("id") String id,

    @Body HashMap<String, Object> data);

然后调用:


HashMap<String, Object> deviceSyncMap = new HashMap<>();

deviceSyncMap.put("fieldName1", 0);

deviceSyncMap.put("fieldName2", null);

deviceSyncMap.put("fieldName3", timestamp);


apiService.updateDeviceCurfewSync(deviceId, deviceSyncMap)


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信