Spring boot endpoint не может перенаправить на мой взгляд - PullRequest
2 голосов
/ 29 мая 2019

У меня есть конечная точка:

 @GetMapping(value = "/reset-password")
    public String displayResetPasswordPage(

Требуется только String объект токена, но потом я перепробовал много вещей, и последняя версия:

GetMapping(value = "/reset-password")
    public String displayResetPasswordPage(HttpServletRequest request, @RequestParam("token") String token, Model model) {


 //here token validate jobs, it is for brevity
    Token resetToken = validateToken(token);

        ModelAndView modelAndView = prepareModelAndView(currentUser, PASSWORD_RESET);

//            modelAndView.addObject("success", request.getParameter("success"));

        if (resetToken == null){
            modelAndView.addObject("error", "Could not find password reset token.");
            model.addAttribute("message","Could not find password reset token." );
        } else if (resetToken.isExpired()){
            modelAndView.addObject("error", "Token has expired, please request a new password reset.");
            model.addAttribute("message","Could not find password reset token." );
        } else {
            modelAndView.addObject("token", resetToken.getToken());//ihtiyaç var mı emin değilim
            model.addAttribute("message","Could not find password reset token." );
        }


        return "redirect:/Reset-Password.html";
    }

Что я хочуто есть, он должен перейти на простой HTML-код:

<!DOCTYPE html>
<html layout:decorator="layouts/Master" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Bilgilerim</title>
</head>
<body>

fsfasasd
asdsasda
</body>
</html>

его имя Reset-Password.html

Он находится внутри resources-teplates-Reset-Password.html

Я также добавил это

.antMatchers("/reset-password**").permitAll()

Например, здесь этот код идет и показывает строку на странице:

redirect:/Reset-Password.html

, когда я пытаюсь перейти к

myurl/reset-password?token=122b4e43-0b63-4a6b-8669-f4e6c623ee2d

Но вместо этого, когда я делаю

httpServletResponse.sendRedirect("https://twitter.com");

в этом методе, он идет.

Но для

 httpServletResponse.sendRedirect("/reset-password");

с пустым возвратом он перенаправляется на путь /reset-passwordи выдает ошибку на пользовательской /error странице.

Что я могу сделать?

Кроме того, когда я пытаюсь сделать так

   modelAndView = prepareModelAndView(controllerParams.currentUser, "simplepage");



    //todo send only user object
    modelAndView.addObject("mobileNumber", mobile);
    return modelAndView;

, он переходит к этому виду,обычно это другая конечная точка и представление, но я скопировал оттуда, и это также может пойти на это представление.

Для того же подхода я получил

template might not exist or might not be accessible by any of the configured Template Resolvers

, но Reset-Password и simplepage находятся в одномпапка под templates

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...