Метод запроса 'POST' не поддерживается регистрация безопасности весеннего MVC - PullRequest
1 голос
/ 15 апреля 2019

Я знаю, что этот вопрос задавался миллион раз прежде, но я просмотрел многие из них, и ничто не помогло, поэтому я задаю свой вопрос.Я пытаюсь зарегистрировать нового пользователя, как показано в руководствах spring.io, но я вижу эту ошибку.Мой контроллер:

@Controller
@RequestMapping("/registration")
public class UserRegistrationController {

    private static final Logger logger = Logger.getLogger(UserRegistrationController.class);

    @Autowired
    private UserService userService;

    @Autowired
    private SecurityService securityService;

    @Autowired
    private UserValidator userValidator;

    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView registration() {

        logger.info("registration page shown");
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("userForm", new User());
        modelAndView.setViewName("registration");

        return modelAndView;
    }

    @RequestMapping(value = "/registration", method = RequestMethod.POST)
    public String registration(@ModelAttribute("userForm") User userForm, BindingResult bindingResult) {
        userValidator.validate(userForm, bindingResult);

        if (bindingResult.hasErrors()) {
            return "registration";
        }

        userService.save(userForm);

        securityService.autoLogin(userForm.getUsername(), userForm.getPassword());

        return "redirect:/welcome";
    }

}

Мой HTML:

<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <h1>Registration</h1>
            <form th:action="@{/registration}" th:object="${userForm}" method="post" class="form-signin">
                    <h2 class="form-signin-heading">Create your account</h2>

                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <input type="text" th:field="*{username}" class="form-control" placeholder="Username"
                                        autofocus="true"/>
                        </div>

                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <input type="password"  th:field="*{password}" class="form-control" placeholder="Password"/>
                        </div>

                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <input type="password" th:field="*{confirmPassword}" class="form-control"
                                        placeholder="Confirm your password"/>
                        </div>

                    <button class="btn btn-lg btn-primary btn-block" type="submit">Submit</button>
                </form:form>
            </form>
        </div>
    </div>
</div>

Любой совет будет оценен.

...