我尝试在此方法中传递一个参数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);
}
我得到了这个错误
Missing URI template variable 'usuarioEntidade' for method parameter of type Long
我在这里在我的前端调用这个请求
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);
});
};
然后出错了..
Missing URI template variable 'usuarioEntidade' for method parameter of type Long
最佳答案
您的问题是您的休息请求中路径变量的名称与传递给您的 java 方法的变量名称不匹配。
您有两个选择:
@RequestMapping(method = RequestMethod.GET, value = "/distrito/{idEntidade}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Distritos>> buscarTodosDistritos(@PathVariable("idEntidade") Long usuarioEntidade)
或者:
@RequestMapping(method = RequestMethod.GET, value = "/distrito/{usuarioEntidade}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Distritos>> buscarTodosDistritos(@PathVariable Long usuarioEntidade)
关于java - Long 类型的方法参数缺少 URI 模板变量 'usuarioEntidade',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46737701/