我试图让 Controller 使用相同的 URI 和 GET 和 POST 请求。但我遇到了以下错误。
Ambiguous handler methods mapped for HTTP path 'http://localhost:8080/boards/forgotPassword/recoverForm':
据我所知,这种情况不应该发生,因为一个使用 GET 请求,另一个使用 POST。如果我错了,请纠正我。 Controller 详细信息如下。
@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";
}
}
最佳答案
从第 3 行删除“method = RequestMethod.GET”。该属性将 GET 定义为上述所有方法。
关于java - 为 HTTP 路径映射的处理程序方法不明确 同一 URI GET 和 POST 发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54410120/