Saltar al contenido

@JsonIgnore con la anotación @Getter

Después de observar en diferentes repositorios y páginas webs de internet al concluir nos encontramos con la solución que te mostraremos ahora.

Solución:

Para poner @JsonIgnore en el método getter generado, puede usar onMethod = @__( @JsonIgnore ). Esto generará el captador con la anotación específica. Para obtener más detalles, consulte http://projectlombok.org/features/GetterSetter.html

@Getter
@Setter
public class User 

    private userName;

    @Getter(onMethod = @__( @JsonIgnore ))
    @Setter
    private password;

Recientemente tuve el mismo problema al usar jackson-annotation 2.9.0 y lombok 1.18.2

Esto es lo que funcionó para mí:

@Getter
@Setter
public class User {

    @JsonIgnore
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String password;

Así que básicamente agregando la anotación @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) significa que la propiedad solo se puede escribir para la deserialización (usando setter) pero no se leerá en la serialización (usando getter)

Esto podría ser bastante obvio, pero perdí mucho tiempo sin pensar en esta solución antes:

@Getter
@Setter
public class User 

    private userName;

    @Setter
    private password;

    @JsonIgnore
    public getPassword()  return password; 

como dijo sebastian @__( @JsonIgnore ) puede resolver este problema, pero a veces el uso de la función onX Lombok (@__()) puede tener efectos secundarios, por ejemplo, interrumpir la generación de javadoc.

Te mostramos las reseñas y valoraciones de los lectores

Si para ti ha sido de ayuda nuestro post, sería de mucha ayuda si lo compartieras con más juniors de esta manera contrubuyes a extender esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *