java - 为 HTTP 路径映射的处理程序方法不明确 同一 URI GET 和 POST 发生错误

标签 java spring

我试图让 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/

相关文章:

java - 使用 JOINED 继承策略并设置 spring.jpa.properties.hibernate.jdbc.batch_size 时部分保存实体

java - 我需要在实现 InitializingBean 的类中 Autowiring ServletContextResource

Spring MVC 但没有 View 解析器?

java - 如果我使用 Java 中的 JPA 搜索 child 的 parent 之一,如何获得 child 的姓名作为结果?

java - 第一个 android 应用程序..需要帮助调试

java - Spring Data (JPA) Repository 是线程安全的吗? (也就是 SimpleJpaRepository 线程安全的)

JAVA:JProgressbar & Files.copy 与 Observer 和 Swingworker 在 1 类中

java - Spring Cloud - Zuul服务器错误

java - JMockit 与 Spring Autowiring 不起作用

java - 如何正确映射模糊处理程序方法?