Я новичок весной, я хотел бы реализовать следующую идею, но я не знаю, работает ли она или что делать, чтобы сделать ее правильной.spring-mvc: split logic, что является лучшей практикой
Так т.е. рабочий процесс:
- отправить письмо
- для его хранения в базе данных
У меня есть контроллер с двумя методами. Метод «sendEmail» работает отлично, и я должен что-то сделать, чтобы вызвать метод «storeHistory». Я хотел бы воплотить эту идею в академическую красоту (в соответствии с лучшей практикой).
\t @RequestMapping(value={"/sendEmail"}, method=POST)
\t public String sendEmail(EmailDispatchForm form,Model model){
\t \t String status = "OK";
\t \t Email domainEmail = emailAdapter.convertEmailFormToServiceEmail(form) ;
\t \t logger.debug(form);
\t \t logger.debug(domainEmail);
\t \t
\t \t try {
\t \t \t emailSendService.sendEmail(domainEmail);
\t \t } catch (Exception e) {
\t \t \t status = "ERROR";
\t \t \t model.addAttribute("errDescription", e.getCause().getMessage());
\t \t \t logger.error(e, e);
\t \t }finally {
\t \t \t model.addAttribute("sentEmailStatus", status);
\t \t }
\t \t
\t \t return "email_sent_form";
\t }
\t
\t @RequestMapping(value={"/storeHistory"}, method=POST)
\t public void storeHistory(EmailDispatchForm form, Model model){
\t \t EMail historyEmail = emailAdapter.convertEmailFormToDomainEmail(form);
\t \t logger.debug(historyEmail);
\t \t dataProvider.storeEmailForHistory(historyEmail);
\t \t
\t }
Конечно я могу сделать это в одном методе, но я хотел бы разделить логику в двух различных методов.
Как вы это сделаете? Возможно, что-то вроде «redirect: storeHistory», но я не уверен, что это хорошая идея, поэтому у меня есть идея.
благодаря