我遇到过这样的情况:在网络服务中调用是从两个不同的情况进行的。帖子正文有 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/