modelos - Jackson: condicional seleccione los campos
michael jackson billie jean (2)
Pruebe las vistas JSON? Mira esto o esto O para obtener más funciones de filtrado, consulte esta entrada de blog (por ejemplo, Json Filters).
I have a scenario where i need to use the payload as
{"authType":"PDS"}
or
{"authType":"xyz","authType2":"abc",}
or
{"authType":"xyz","authType2":"abc","authType3":"123"}
or
any combination except for null values.
refiriéndome al código, tengo 3 campos pero solo campos de valor nulo. Básicamente, no quiero incluir el campo que tiene valor nulo.
¿Hay alguna anotación que se utilizará para hacerlo?
public class AuthJSONRequest {
private String authType;
private String authType2;
private String authType3;
public String getAuthType() {
return authType;
}
public void setAuthType(String authType) {
this.authType = authType;
}
public String getAuthType2() {
return authType2;
}
public void setAuthType2(String authType2) {
this.authType2 = authType2;
}
public String getAuthType3() {
return authType3;
}
public void setAuthType3(String authType3) {
this.authType3 = authType3;
}
}
Esto es exactamente lo que la anotación @JsonInclude
en Jackson2 y @JsonSerialize
en Jackson están destinados.
Si desea que una propiedad se muestre solo cuando no es igual a null
, agregue @JsonInclude(Include.NON_NULL)
resp. @JsonSerialize(include=Include.NON_NULL)
.