Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing URI template variable 'usuarioEntidade' for method parameter of type Long

I try to pass a param in this method here

@RequestMapping(method = RequestMethod.GET, value = "/distrito/{idEntidade}", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Collection<Distritos>> buscarTodosDistritos(@PathVariable Long usuarioEntidade) throws ServletException { 

        Collection<Distritos> distritosBuscados = distritosService.buscarFiltro(usuarioEntidade);//parametro, que é o id_entidade, para passar na query de busca distritos
            return new ResponseEntity<>(distritosBuscados, HttpStatus.OK);
    } 

and i got this error

Missing URI template variable 'usuarioEntidade' for method parameter of type Long 

I'm calling this request on my front end right here

 idEntidade = Number(localStorage.getItem("idEntidade"));



$http({
        method : 'GET',
        url : '/user/distrito/' +idEntidade         
    }).then(function(response) {
        $scope.distritos = response.data;

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

then got an error..

Missing URI template variable 'usuarioEntidade' for method parameter of type Long
like image 702
Eduardo Krakhecke Avatar asked Dec 13 '22 20:12

Eduardo Krakhecke


1 Answers

Your problem is that the name of the path variable in your rest request does not match the name of the variable passed to your java method.

You have two options:

@RequestMapping(method = RequestMethod.GET, value = "/distrito/{idEntidade}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Distritos>> buscarTodosDistritos(@PathVariable("idEntidade") Long usuarioEntidade)

Or:

@RequestMapping(method = RequestMethod.GET, value = "/distrito/{usuarioEntidade}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Distritos>> buscarTodosDistritos(@PathVariable Long usuarioEntidade)
like image 67
Rick Ridley Avatar answered Feb 14 '23 00:02

Rick Ridley