我有一个情况,在Web服务调用是从两个不同的情况。文章正文有2个可选参数。这两个参数需要在一种情况下存在,而在另一种情况下不应该存在。
示例:-
场景1帖子正文:-
{
"parameter1" : "data1",
"parameter2" : "data2",
"parameter3" : "data3",
"parameter4" : "data4"
}
场景2帖子正文:-
{
"parameter1" : "data1",
"parameter2" : "data2",
"parameter3" : "data3",
"parameter4" : "data4",
"parameter5" : "data5",
"parameter6" : "data6"
}
我如何使用reflection和Jackson来实现这一点?
2条答案
按热度按时间w8rqjzmb1#
用于建模POST正文的Object应该用
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true)
然后从那里离开
null,则不应序列化它们。
tp5buhyn2#
解决方案是,我们需要使用hashMap来实现这种可选参数方法。
举个例子。
在API调用中将此
req
对象作为请求体传递仅供参考(额外提示):
根据我们在构建改造服务对象时为
Convertor.Factory
值设置的配置,改造要么直接从对象中保留所有空参数值,要么删除空参数值。这可以在不需要或需要空值的某些情况下使用。