AngularJS从http传递参数到Spring Controller

时间:2017-12-26 15:33:47

标签: javascript angularjs http spring-mvc

我在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;
}   

0 个答案:

没有答案