Я хотел бы знать, как написать «элегантный» (или хотя бы правильный) код в определенном случае:
Предположим, у меня есть Spring Controller, который вставляет пользователя в базу данных (из формы) следующим образом:
@RequestMapping(value = "/saveUser", method = RequestMethod.POST)
public ModelAndView saveUser(@Valid @ModelAttribute("User") User user, BindingResult result) {
if (result.hasErrors()) {
ModelAndView model = new ModelAndView();
model.setViewName("/user/addUser");
return model;
}
userService.insertUser(user);
}
Теперь я хотел бы проверить, хорошо ли работает userService.insertUser (user) и, если да, вернуть сообщение об успехе , а если нет, то сообщение об ошибке 1009 *. Я написал это так:
@RequestMapping(value = "/saveUser", method = RequestMethod.POST)
public ModelAndView saveUser(@Valid @ModelAttribute("User") User user, BindingResult result) {
if (result.hasErrors()) {
ModelAndView model = new ModelAndView();
model.setViewName("/user/addUser");
return model;
}
if (userService.insertUser(user)) return new ModelAndView("redirect:/users.html?msg="+Msg.UserStatus.USER_INSERT_SUCCESS);
else return new ModelAndView("redirect:/users.html?msg="+Msg.UserStatus.USER_INSERT_ERROR);
}
С пользователями контроллер пишет так:
@RequestMapping("/users")
public ModelAndView showUsers(@ModelAttribute("Utenti")Utenti user, @RequestParam(required = false) String msg) {
ModelAndView model = new ModelAndView();
model.addObject("msg", msg);
model.addObject("users", userService.getAllUser());
model.setViewName("/users/users");
return model;
}
Это правильный способ сделать ?? Я написал это довольно инстинктивно, и я не знаю, является ли это правильным способом работы (я черпал вдохновение из результатов действий Struts SUCCESS и FAILURE).
Спасибо