java - 改造 2 @FormUrlEncoded 与空字段
问题描述
我发送这个:
@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
解决方案
终于成功了,以下是我所做的更改:
将我的 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)
推荐阅读
- javascript - Vue路由器导航栏元素不显示div
- django - 欢迎来到 CentOS - Django、Nginx 和 uwsgi
- javascript - 将变量从功能组件传递给同级组件到 index.js
- r - 来自 R 中的 JM 包的错误,特征(y,对称 = TRUE)在 R 中的联合模型中的“x”中的缺失值无限
- javascript - 向 Semantic UI React 下拉列表的每一行添加一个按钮/图标
- r - 如何填充/着色ggplot2中重叠的两条线的区域?
- reactjs - 返回函数在 NextJS Web 应用程序中仅调用一次
- python - Python多处理:每k次迭代写入文件
- modelica - 是否可以将全局值发送到 OpenModelica 中的另一个模型?
- c# - 文件内容搜索c#