Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Spring boot não serializa id da entidade no @ResponseBody

Tenho esse recurso para buscar todos os objetos:

     @ResponseBody

     @GetMapping(value = "findAll", produces =             

     MediaType.APPLICATION_JSON_UTF8_VALUE)

     @PreAuthorize("hasAuthority('ADMIN_USER') 

    or hasAuthority('STANDARD_USER')")

     public ResponseEntity findAll() {

        List<T> list = service.findAll();

        return ResponseEntity.ok().body(list);
    }

Porém quando envia no body do response nã é exibido o id:

[

    {

        "name": "Motorola MotoG alterado20",
        "active": true,
        "description": "Telefônia",
        "density": 1
    }
]

Será que precisa fazer alguma configuração? Nunca tive esse problema com ResponseBody

3 respostas
solução!

Oi Ana Paula, tudo bem?

Vai depender muito do que sua entidade tem, até hoje ele sempre conseguiu exibir o id.

Eu tenho uma classe abstrata: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class BaseProduct implements Serializable {

@Id @SequenceGenerator(name = "base_product_seq", sequenceName = "base_product_seq", allocationSize = 1) @GeneratedValue(strategy = GenerationType.TABLE, generator = "base_product_seq") @Column(name = "id", nullable = false) private Long id;

@Column(name = "name", nullable = false) private String name;

@Column(name = "active", nullable = false) private Boolean active;

@Column(name = "description", nullable = false) private String description;

E duas filhas :

@Entity public class Product extends BaseProduct {

@Column(name = "density", nullable = false) private Double density; }

@Entity

public class ProductGroup extends BaseProduct {}

Quando busco no debugger vem o objeto com id, mas qdo o serializa ai nao vai no json.

Consegui resolver! Estava faltando apenas o getId() e setId(). =)