1
resposta

Como gerar o JSON com apenas parte dos atributos?

Olá! Tudo bem? Gostaria de saber como gerar o JSON com apenas parte dos atributos. Ex: No meu ERP, na classe Produto, existem os atributos ID, Descricao, Quantidade, PrecoCompra, MargemLucro, PrecoVenda, etc. Porém, para um sistema mobile de vendedores, por exemplo, não é necessário (nem interessante) aparecer o preço de compra e a margem de lucro. Nesse caso, em um get de um resource de produto, como faço para aparecer apenas os atributos desejados? Desde já, muito obrigado!

1 resposta

Olá Everton! Tudo bem?

Para gerar o JSON com apenas parte dos atributos, você pode utilizar a anotação @JsonIgnore do framework JAX-RS. Essa anotação permite que você indique quais atributos devem ser ignorados durante a serialização do objeto para JSON.

No seu caso, se você não quer que o preço de compra e a margem de lucro sejam incluídos no JSON retornado pelo seu resource de produto, basta adicionar a anotação @JsonIgnore nesses atributos da classe Produto. Dessa forma, eles serão ignorados durante a serialização.

Por exemplo:

public class Produto {
    private int id;
    private String descricao;
    private int quantidade;
    private double precoCompra;
    private double margemLucro;
    private double precoVenda;

    // getters e setters

    @JsonIgnore
    public double getPrecoCompra() {
        return precoCompra;
    }

    @JsonIgnore
    public double getMargemLucro() {
        return margemLucro;
    }
}

Com essa configuração, ao realizar um GET no resource de produto, o JSON retornado não incluirá os atributos precoCompra e margemLucro.

Espero ter ajudado e bons estudos!