Error requesting GET, JavaScript, Angular, Spring, Java

1

I'm having an error opening the screen with the search results in the database. The error is in the image below.

Debugging, data is coming from the database.

In the other image, the Server Log appears

MyNeighborhoods

@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 BairroController Java 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);
    }

}

Neighborhood Class CoNtroller.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();

});
    
asked by anonymous 25.09.2017 / 15:10

1 answer

1

To solve this error the following has been done, In the @OneToMany and @ManyToOne relations, a @JsonIgnore annotation was placed and the jackson-databind jar was imported. Apparently he solved the question.

    
25.09.2017 / 15:52