我有一个有2个值的类:val1和val2。我发送val1到register(create)API,val2由API本身自动填充。我不想在调用create API时发送val2,并且该API不是为处理不需要的值而设计的。
简而言之,我想在调用create API时忽略val2,但在调用get API时我想要它。
我现在拥有的代码创建了JSON,包括为val2分配null的值。这会导致API抛出异常。
有没有简单的方法(java / groovy)?
答案 0 :(得分:0)
有没有简单的方法(java / groovy)?
不是100%确定我了解您的需求。我相信这取决于你使用的json de / serializer。例如,使用杰克逊我们做:
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeName("account")
public class Account {
我相信这允许我们将具有大量额外json字段的对象加载到没有相应java字段的对象中。引用javadocs:
定义在反序列化期间是否可以忽略任何无法识别的属性的属性。如果为true,则无法识别所有无法识别的属性(即没有可接受它们的setter或创建者),而不会出现警告(尽管仍将调用未知属性的处理程序,如果有的话),无异常。