Мне удалось заставить modelAndView в моем контроллере делать то, что я ожидаю от пользовательского интерфейса, но иногда мне нужно проверить это через post man, поэтому, когда я пробовал атрибут модели всегда иметь значение null, может ли кто-нибудь объяснить, что именно происходит?
вот контроллер, который я использую:
@Controller
public class LoginController extends AuthenticationBase {
@Autowired
private AuthenticationInterfaceImpl authentication;
Logger logger = LoggerFactory.getLogger(LoginController.class);
@GetMapping("/login_form")
public ModelAndView login(@ModelAttribute LoginForm loginForm) {
return new ModelAndView("index");
}
@PostMapping("/login_form")
public ModelAndView login(HttpServletRequest request, HttpServletResponse response,
@ModelAttribute LoginForm loginForm, BindingResult result) {
LoginInfo loginInfo;
try {
loginInfo = authentication.userLogin(loginForm.getUserName(), loginForm.getPassword());
if (loginInfo.getNewPasswordRequired()) {
return new ModelAndView("change_password", "change_password", loginForm.getUserName());
} else {
UserInfo userInfo = new UserInfo(loginInfo.getUserName(), loginInfo.getEmailAddr(), "");
return new ModelAndView("application", "application", userInfo);
}
} catch (Exception e) {
logger.error(e.getMessage());
}
return new ModelAndView("index", "authenticationError", "Password or user name error!");
}
}