Как показать полный JSON API REST из комбинированных таблиц в почтальоне - PullRequest
0 голосов
/ 28 марта 2019

У меня есть связанные таблицы в моей БД, и я не могу отобразить все значения в моей таблице, он показывает только те, которые не объединены.

Я использовал RestController, чтобы показать свою таблицу, я использовал ajax для заполнения своей таблицы.

Чтобы подключиться к моей БД, я использовал SpringConfig, так что это проще сделать.Также я использую почтальон, чтобы увидеть, как отображается информация, и я все еще получаю NULL в моих столбцах соединения



    @GetMapping(produces = {MediaType.APPLICATION_JSON_VALUE})
    public ResponseEntity< List<Producto> > productoGet(){
        Iterable<Producto> prods = prodDao.findAll();
        List<Producto> lista = new ArrayList<>();
        prods.forEach(lista::add);
        if(lista.isEmpty()) {
            return new ResponseEntity<List<Producto>>(HttpStatus.NOT_FOUND);
        }else {
            return new ResponseEntity<List<Producto>>(lista, HttpStatus.OK);
        }
    }
I used hibernate and jpa to obtain all my DB so it would be faster and easier.
I 


@Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    private String img;
    @NotEmpty
    private String nombre;
    @NotNull
    private Integer precio;
    @NotNull
    private Integer unidades;

    //bi-directional many-to-one association to Detalle
    @JsonIgnore
    @OneToMany(mappedBy="producto")
    private List<Detalle> detalles;

    //bi-directional many-to-one association to Cat
    @JsonIgnore
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="idcat")
    private Cat cat;

    //bi-directional many-to-one association to Tipoconsola
    @JsonIgnore
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="idconsola")
    private Tipoconsola tipoconsola;

        @Transient
    private Integer idTC;

    @Transient 
    private Integer idCategoria;





var URL = "/prueba/api/producto"    var URL1 = "/prueba/api/cat"
                function cargarPagina(){            $.ajax({
                url: URL, URL1,
                type: 'GET',
                datatype: 'json',
                success: function(respuesta){
                    llenarTabla(respuesta);
                }, error:function(xhr, codigodeerror, texto){
                    console.log("Error en el servidor " + codigodeerror + ", " + texto)
                }           });         }       function llenarTabla(productos){        $('#tabla tbody').empty();      $(productos).each(function(idx, prod){          var $tr = $("<tr/>");           var $tdId = $('<td/>', {'html': prod.id});          var $tdNombre = $('<td/>', {'html': prod.nombre});          var $tdPrecio = $('<td/>', {'html': prod.precio});
                        var $tdCategoria = $('<td/>', {'html': prod.idcat});
                        var $tdAcciones=$('<td/>');             var $btnBorrar=$('<a/>', {
                'html': 'Borrar',
                'class': 'btn btn-danger',
                'href': '#'             })          $btnBorrar.click(function(e){

                borrarProducto(prod.id);
                e.preventDefault();             });


Я ожидаю увидеть на idTC: PS4 и на idCategoria:Juegos

{
        "id": 1,
        "img": "/img/xboxone/acOdyssey.jpg",
        "nombre": "Assassins Creed: Odyssey",
        "precio": 1200,
        "unidades": 12,
        "idTC": null,         
        "idCategoria": null
    },
...