Как получить параметры в GET-запросе из Angular Application - PullRequest
0 голосов
/ 02 июня 2018

Я пытался реализовать фильтр поиска с помощью Querydsl.моя функциональность поискового фильтра работает нормально. Но я проверил это, дав жестко закодированные значения в контроллере.

Теперь я хочу взять этот параметр поиска из приложения Angular.В запросе get как получить эти параметры от angular sClientAcctId, sAcctDesc,sInvestigatorName,sClientDeptId

Может кто-нибудь подсказать, пожалуйста, как это сделать?

AccountController.java

@GetMapping("/findAccountData")
public ResponseEntity<List<Tuple>> populateGridViews(String sClientAcctId, String sAcctDesc,String sInvestigatorName,String sClientDeptId) throws Exception {                  

    return  ResponseEntity.ok(accService.populateGridViews(sClientAcctId, sAcctDesc,sInvestigatorName,sClientDeptId));

}

Я пытался так, используя @PathVariable, но здесь мне нужно передать все параметры, тогда только запрос совпадает с другим, я получаю 404

Моя функциональность такова, что если яне передал никаких параметров, тогда я хочу получить все данные, если я передам только один параметр, то поиск по значению этого параметра будет таким:

 @GetMapping("/findAccountData/{clientAcctId}/{acctDesc}/{investigatorName}/{clientDeptId}")
    public ResponseEntity<List<Tuple>>  populateGridViews(
   @PathVariable("clientAcctId") String sClientAcctId,
   @PathVariable("acctDesc") String sAcctDesc,
   @PathVariable("investigatorName") String sInvestigatorName ,
   @PathVariable("clientDeptId") String sClientDeptId) throws Exception { 

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Используйте другой тип или параметр, @RequestParam

Контроллер будет выглядеть следующим образом

@GetMapping("/findAccountData/")
public ResponseEntity<List<Tuple>>
populateGridViews(@RequestParam("clientAcctId") String
                          sClientAcctId, @RequestParam("acctDesc") String sAcctDesc, @RequestParam("investigatorName") String sInvestigatorName, @RequestParam("clientDeptId") String
                          sClientDeptId) throws Exception {
}

Вы можете использовать /findAccountData/?clientAcctId=1&acctDesc=desc для передачи требуемых переменных.

0 голосов
/ 02 июня 2018

Используйте аннотацию @PathVariable для получения любых значений параметров запроса из запроса GET.

Например:

@GetMapping("/findAccountData/{clientAcctId}/{acctDesc}/{investigatorName}/{clientDeptId}")
public ResponseEntity<List<Tuple>> 
populateGridViews(@PathVariable("clientAcctId") String 
sClientAcctId,@PathVariable("acctDesc") String sAcctDesc,@PathVariable("investigatorName") String sInvestigatorName,@PathVariable("clientDeptId") String 
sClientDeptId) throws Exception { 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...