Я впервые работаю с аннотациями Spring, и у меня возникают некоторые проблемы с удвоением URL при последующих попаданиях @RequestMapping
. У меня есть следующий фрагмент:
@Controller @RequestMapping("/login")
public class Login {
private LoginService loginService;
@Autowired
public Login(LoginService loginService){
this.loginService = loginService;
}
@RequestMapping(method=RequestMethod.GET)
public String setupLogin(){ return "login"; }
@RequestMapping(method=RequestMethod.GET, value="/retry")
public String setupLoginRetry(){ return "login"; }
@RequestMapping(method=RequestMethod.POST)
public String processLogin(@ModelAttribute("userName") String userName, @ModelAttribute("password") String password){
if (true) return "redirect:login/retry"; //hard-coded for example
return "redirect:home";
}
}
Если я поднимаю страницу и просто нажимаю кнопку Отправить, я получаю следующее:
MYAPP / Логин
MYAPP / Войти / повторить? UserName = & пароль =
myApp / login / login // <- это происходит не так, как не должно быть вложения логинов </p>
Так что, очевидно, я делаю что-то не так. Мои вопросы:
1.) Что можно сделать, чтобы параметры не отображались в URL-адресе при повторной попытке? Изменить: Удаление этого вопроса - нашел ответ .
2.) Почему он начинает вкладывать логины и как правильно это объявить?
Будем благодарны за любые мысли или помощь. Спасибо!