@ModelAndView работает как ожидается от пользовательского интерфейса, но не работает, когда почтальон отправляет запрос json - PullRequest
0 голосов
/ 13 февраля 2019

Мне удалось заставить 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!");

    }
}
...