Error making a GET, Javascript, Angular, Spring, Java request

Asked

Viewed 205 times

1

I have an error opening the screen with the bank search results. error is in image below.

Debugging, the data is coming from the database.

In the other image, the server log appears

inserir a descrição da imagem aqui

inserir a descrição da imagem aqui

My class Neighborhoods

@Entity
@Table(name = "Bairros", schema="glb")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Bairros.findAll", query = "SELECT b FROM Bairros b"),
    @NamedQuery(name = "Bairros.findByIdbairro", query = "SELECT b FROM Bairros b WHERE b.bairrosPK.idbairro = :idbairro"),
    @NamedQuery(name = "Bairros.findByNome", query = "SELECT b FROM Bairros b WHERE b.nome = :nome"),
    @NamedQuery(name = "Bairros.findByCodigodne", query = "SELECT b FROM Bairros b WHERE b.codigodne = :codigodne"),
    @NamedQuery(name = "Bairros.findByIdentidade", query = "SELECT b FROM Bairros b WHERE b.bairrosPK.identidade = :identidade")})
public class Bairros  {


    @EmbeddedId
    protected BairrosPK bairrosPK;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 70)
    @Column(name = "Nome")
    private String nome;
    @Size(max = 8)
    @Column(name = "Codigo_dne")
    private String codigodne;
   /* @JoinTable(name = "Logradouros_bairros", joinColumns = {
        @JoinColumn(name = "Id_entidade", referencedColumnName = "Id_entidade"),
        @JoinColumn(name = "Id_bairro", referencedColumnName = "Id_bairro")}, inverseJoinColumns = {
        @JoinColumn(name = "Id_entidade", referencedColumnName = "Id_entidade"),
        @JoinColumn(name = "Id_logradouro", referencedColumnName = "Id_logradouro")})*/
   /* @ManyToMany
    private Collection<Logradouros> logradourosCollection;*/

    @JoinColumn(name = "Id_entidade", referencedColumnName = "Id_entidade", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Entidades entidades;
    @JoinColumn(name = "Id_municipio", referencedColumnName = "Id_municipio")
    @ManyToOne(optional = false)

    private Municipios idmunicipio;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "bairros")
    private Collection<Pessoasenderecos> pessoasenderecosCollection;

    public Bairros() {
    }

    public Bairros(BairrosPK bairrosPK) {
        this.bairrosPK = bairrosPK;
    }

    public Bairros(BairrosPK bairrosPK, String nome) {
        this.bairrosPK = bairrosPK;
        this.nome = nome;
    }

    public Bairros(long idbairro, long identidade) {
        this.bairrosPK = new BairrosPK(idbairro, identidade);
    }

    public BairrosPK getBairrosPK() {
        return bairrosPK;
    }

    public void setBairrosPK(BairrosPK bairrosPK) {
        this.bairrosPK = bairrosPK;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCodigodne() {
        return codigodne;
    }

    public void setCodigodne(String codigodne) {
        this.codigodne = codigodne;
    }

 /*@XmlTransient
    public Collection<Logradouros> getLogradourosCollection() {
        return logradourosCollection;
    }

    public void setLogradourosCollection(Collection<Logradouros> logradourosCollection) {
        this.logradourosCollection = logradourosCollection;
    }*/

    public Entidades getEntidades() {
        return entidades;
    }

    public void setEntidades(Entidades entidades) {
        this.entidades = entidades;
    }

    public Municipios getIdmunicipio() {
        return idmunicipio;
    }

    public void setIdmunicipio(Municipios idmunicipio) {
        this.idmunicipio = idmunicipio;
    }

    @XmlTransient
    public Collection<Pessoasenderecos> getPessoasenderecosCollection() {
        return pessoasenderecosCollection;
    }

    public void setPessoasenderecosCollection(Collection<Pessoasenderecos> pessoasenderecosCollection) {
        this.pessoasenderecosCollection = pessoasenderecosCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (bairrosPK != null ? bairrosPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Bairros)) {
            return false;
        }
        Bairros other = (Bairros) object;
        if ((this.bairrosPK == null && other.bairrosPK != null) || (this.bairrosPK != null && !this.bairrosPK.equals(other.bairrosPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.marcars.m3.hibernate.Bairros[ bairrosPK=" + bairrosPK + " ]";
    }

}

My Java Bairrocontroller Class

@RestController
@RequestMapping (value="/user")
public class BairrosController {


    @Autowired
    BairrosService bairrosService;

    //end Points

    @RequestMapping(method = RequestMethod.POST, value = "/bairros", consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Bairros> cadastrarBairros(@RequestBody Bairros bairros) {
        Bairros bairrosCadastrado = bairrosService.cadastrar(bairros);
        return new ResponseEntity<Bairros>(bairrosCadastrado, HttpStatus.CREATED);
    }

    @RequestMapping(method = RequestMethod.GET, value = "/bairros", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Collection<Bairros>> buscarTodosBairros() {
        Collection<Bairros> bairrosBuscados = bairrosService.buscarTodos();
        return new ResponseEntity<>(bairrosBuscados, HttpStatus.OK);
    }

    @RequestMapping(method = RequestMethod.GET, value = "/bairros/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Bairros> buscarBairrosPorId(@PathVariable int id) {
        Bairros bairros = bairrosService.buscaPorId(id);
        return new ResponseEntity<>(bairros, HttpStatus.OK);
    }

    @RequestMapping(method = RequestMethod.DELETE, value = "/bairros/{id}")
    public ResponseEntity<Bairros> excluirBairros(@PathVariable int id) {
        Bairros bairroEncontrado = bairrosService.buscaPorId(id);
        if (bairroEncontrado == null) {
            return new ResponseEntity<>(HttpStatus.NOT_FOUND);
        }
        bairrosService.excluir(bairroEncontrado);
        return new ResponseEntity<>(HttpStatus.OK);
    }

    @RequestMapping(method = RequestMethod.PUT, value = "/bairros", consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Bairros> alterarBairros(@RequestBody Bairros bairros) {
        Bairros bairroAlterado = bairrosService.alterar(bairros);
        return new ResponseEntity<Bairros>(bairroAlterado, HttpStatus.OK);
    }

}

Class Bairrocontroller.js

app.controller("buscaBairroController", function($scope, $http) {

    $scope.bairros = [];
    $scope.bairro = {}; // binding com o form

    carregarBairros = function() {

        token = localStorage.getItem("userToken");


        $http({
            method : 'GET',
            url : 'http://localhost:8080/user/bairros'
        }).then(function(response) {
            $scope.bairros = response.data;

        }, function(response) {
            console.log(response.data);
            console.log(response.status);
        });
    };



    $scope.salvarBairros = function() {
        if ($scope.frmBairro.$valid) {
            $http({
                method : 'POST',
                url : 'http://localhost:8080/user/bairros',
                data : $scope.bairro
            }).then(function(response) {
                $("#modalSalvoSucesso").modal("show");
                carregarBairros();
                $scope.bairro = {};

            }, function(response) {
                console.log(response.data);
                console.log(response.status);
            });

        } else {
            $("#modalCampoObrigatorio").modal("show");

        }

    };

    $scope.excluirBairros = function(bairro) {
        bootbox.confirm({
            message : "Deseja excluir o registro permanentemente ?",
            buttons : {
                cancel : {
                    label : '<i class="fa fa-times"></i> Cancelar'
                },
                confirm : {
                    label : '<i class="fa fa-check"></i> Sim'
                }
            },
            callback : function(result) {
                if (result == true) {
                    $http({
                        method : 'DELETE',
                        url : 'http://localhost:8080/user/bairros/'+bairro.id
                    }).then(function(response) {

                        pos = $scope.bairros.indexOf(bairro);
                        $scope.bairros.splice(pos, 1);

                    }, function(response) {
                        console.log(response.data);
                        console.log(response.status);
                    });
                }
            }
        });
    };

    $scope.alterarBairros = function(bar) {
        $scope.bairro = angular.copy(bar);
    };

    $scope.cancelarAlteracaoBairros = function() {
        $scope.bairro = {};
    };

    carregarBairros();

});

1 answer

1

To resolve this error, the following has been done: In relations @OneToMany and @ManyToOne an annotation was placed @JsonIgnore and was imported the jar Jackson-databind. Apparently solved the issue.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.