Cerca

Annotazioni per non esportare i dati per determinate proprieta':

@JsonIgnoreProperties 

è un’annotazione a livello di classe e prevede che vengano esplicitate le proprietà da escludere sotto forma di una di un elenco di stringhe.

@JsonIgnore 

invece è un’annotazione a livello di membro o metodo, esempio:

public Oggetto{
	...
    byte[] dati;
	...
    @JsonIgnore
    public byte[] getDati() {
        return dati;
    }
	...   
}

Va posto sul metodo GET dell'attributo.


Cambiare il nome di una proprieta'

public class Oggetto {

    @JsonProperty("info-data")
    private String info;
    ...
}

Annotazioni per evitare la ricorsone tra le classi

@JsonManagedReference 

viene utilizzato su un riferimento figlio del POJO di destinazione.

@JsonBackReference 

viene utilizzato nella classe figlio corrispondente. Viene posizionato sulla proprietà di riferimento indietro.

@Entity
@Table(name="ente")
public class Ente extends AModelBean implements Serializable {
     
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "ente")
    @JsonManagedReference
    private List<Test> listTest = new ArrayList();
	...

@Entity
@Table(name="test")
public class Test extends AModelBean implements Serializable{  

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ente")
    @JsonBackReference
    private Ente ente;
    ...
   
Indietro