java - 删除 POST 主体 Retrofit 中的可选参数

标签 java android retrofit

我遇到过这样的情况:在网络服务中调用是从两个不同的情况进行的。帖子正文有 2 个可选参数。这两个参数在一种情况下需要存在,而在另一种情况下则不应存在。

示例:-

情况 1 帖子正文:-

{
    "parameter1" : "data1",
    "parameter2" : "data2",
    "parameter3" : "data3",
    "parameter4" : "data4"
}

情况2帖子正文:-

{
    "parameter1" : "data1",
    "parameter2" : "data2",
    "parameter3" : "data3",
    "parameter4" : "data4",
    "parameter5" : "data5",
    "parameter6" : "data6"
}

如何使用 Retrofit 和 Jackson 实现这一目标?

最佳答案

用于建模 POST 正文的对象应使用

进行注释

@JsonInclude(JsonInclude.Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true)

在类声明之上,然后从那里离开

 "parameter5" : "data5",
 "parameter6" : "data6"

null,它们不应该被序列化。

关于java - 删除 POST 主体 Retrofit 中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117664/

相关文章:

java - T6 压缩 Tiff 图像

android - 在 Android 中通过改造获取对象数组

Android 如何使用 X 按钮创建 fragment

android - picasso 没有将位图加载到带有目标的 ImageView 中

retrofit - 如何设置动态文件名?

java - 没有从 Retrofit 获得任何数据

java - 如何从Hashmap构成的listview中获取特定textview的值?

java - 如何确保线程完成其任务,然后只有新线程可以在java中启动?

java - 以 CamelCase 风格化的单词的正确常量命名约定是什么?

java - 使用已弃用的相机 API,频闪灯在某些设备上不起作用