代码之家  ›  专栏  ›  技术社区  ›  Jin Lim

使用相同的uri get和post时,为HTTP路径错误映射的处理程序方法不明确

  •  0
  • Jin Lim  · 技术社区  · 7 年前

    我试图使控制器使用相同的URI和GET和POST请求。但我遇到了以下错误。

    Ambiguous handler methods mapped for HTTP path 'http://localhost:8080/boards/forgotPassword/recoverForm':
    

    据我所知,这不应该发生,因为一个使用获取请求,另一个使用post。如果我错了,请纠正我。控制器详情如下。

    
    @Controller
    @RequestMapping(value = "/forgotPassword", method = RequestMethod.GET)
    public class PasswordResetController {
    
        @ModelAttribute("userEmail")
        public UserEmail makeUserEmailDTO () {
            UserEmail userEmail = new UserEmail();
            return userEmail;
        }
    
        //@RequestMapping(value = "/recoverForm", method = RequestMethod.GET) --> same error
        @GetMapping("/recoverForm")
        public String getRecoverForm () {
    
            return "_recoverForm";
        }
    
        //@RequestMapping(value = "/recoverForm", method = RequestMethod.POST) --> same error
        @PostMapping("/recoverForm")
        public String sendRecoverEmail (@ModelAttribute("userEmail") @Valid UserEmail userEmail, BindingResult result) {
    
            System.out.println(userEmail.getEmail());
            return "_temp";
        }
    
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   cvdr    7 年前

    从第3行中删除“method=requestmethod.get”。该属性定义了上述所有方法的get-to。