2015-10-16 3 views
0

Так что у меня есть этот метод контроллера:Использование RestTemplate для вызова контроллера

@RequestMapping(method=RequestMethod.POST, value="resetemail") 
    public ResponseEntity sendPasswordResetEmail (@RequestParam("name")  final String name, 
             @RequestParam("password") final String password, 
             @RequestParam("email") final String email) 
    { 
     final boolean success = notificationService.sendPasswordResetEmail(name, password, email); 
     return success ? 
       new ResponseEntity(HttpStatus.OK) : new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR); 
    } 

И я хочу, чтобы вызвать этот метод из другого контроллера. Я знаю, что restTemplate можно использовать для этого, но я пробовал некоторые параметры, и никто из них не работает. Любой намек, пожалуйста?

ответ

1

Почему вы хотите вызвать метод контроллера с другого контроллера, какой-либо конкретный вариант использования? Что я могу видеть из вашего кода, вы пытаетесь отправить почту с паролем сброса клиенту/сущности. Поэтому вместо вызова другого метода контроллеров, почему бы вам просто не получить доступ к notificationService и вызвать метод sendPasswordResetEmail. Вы хотите вызвать другой метод контроллера, предположите, что у вас есть все данные, необходимые для отправки электронной почты для сброса пароля.

Чтобы подвести итог, вызовите метод службы вместо вызова другого контроллера.

+0

Спасибо за ответ. В самом деле, это самый естественный способ, но я не могу этого сделать, пока они находятся в разных модулях/микро-службах. RestTemplate - мой единственный способ. –

Смежные вопросы