我在Angular中有这种情况。我想将SQL查询的一些参数传递给spring。
这是我希望在Spring中传递的角度变量
var medicoRicercato = {
nome: $scope.medico.nome,
cognome: $scope.medico.cognome,
codiceFiscale: $scope.medico.codiceFiscale,
codiceSpecialita: $scope.specialitaSelezionata.codice,
codicePrestazione: $scope.prestazione.codice
};
这是我尝试做的http.get请求
$http({
url: 'http://localhost:8080/ProgettoClinicaAngular/getMedici/',
method: "GET",
params:medicoRicercato
}).then(
function successCallback(response) {
},
function errorCallback(response) {
}
);
这是我的Spring控制器
@RequestMapping(value="/getMedici", method=RequestMethod.GET)
public MedicoView authenticateUser(@RequestBody MedicoView medico) {
return medico;
}
我尝试在互联网上阅读这么多解决方案,但我找不到一个适合我的工作,所有解决方案都有问题。 我也尝试在spring contoller中使用@PathVariable,但是从angulr我如何构造一个字符串来传递?我可以传递这个像一个简单的字符串与空间差异我要通过的参数? 我不能像JSON一样传递这个?
然后,任何人都可以告诉我:
对于HTTP GET中从pass到Spring传递参数的最佳方法是什么?
解
在所有人的帮助下,我找到了解决方案。
这是传递参数的角度代码
var medicoRicercato = {
nome: $scope.medico.nome,
cognome: $scope.medico.cognome,
codiceFiscale: $scope.medico.codiceFiscale,
codiceSpecialita: $scope.specialitaSelezionata.codice,
codicePrestazione: $scope.prestazione.codice
};
$http.get('http://localhost:8080/ProgettoClinicaAngular/getMedici/',{params:
medicoRicercato}).then(
function successCallback(response) {},
function errorCallback(response) {}
);
这是我的Spring控制器
@RequestMapping(value ="/getMedici")
public List<Medico> getUsersForGrid( @RequestParam(value = "nome",required=false) String nome, @RequestParam(value = "cognome",required=false ) String cognome, @RequestParam(value = "codiceFiscale", required=false) String codiceFiscale, @RequestParam(value = "codiceSpecialita", required=false) Integer codiceSpecialita, @RequestParam(value = "codicePrestazione", required=false) Integer codicePrestazione)
{
List<Medico> listaMedici=null;
listaMedici=medicoBuisiness.getMediciWithQuery(nome, cognome, codiceFiscale, codiceSpecialita, codicePrestazione);
return listaMedici;
}