Spring @PostMapping抛出HttpRequestMethodNotSupportedException

时间:2018-12-13 14:39:21

标签: java rest spring-mvc postman spring-restcontroller

我的REST控制器如下所示:

@PostMapping("/foos/sendSomeEmail")
    public void sendSomeEmail(@RequestParam(value = "fromDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime fromDate) {
        if (fromDate == null) {
            fromDate = LocalDateTime.now().minusDays(7);
        }
        service.sendSomeEmail(fromDate);
    }

使用邮递员发出POST请求时,我遇到以下异常:[0m[0m09:08:59,938 INFO [stdout] (Log4j2-TF-1-AsyncLogger[AsyncContext@2d0411f1]-1) org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported

邮递员截图: enter image description here

有人可以帮我解决吗?

更新:删除@RequestParam后,该异常仍然存在。

@PostMapping("/foos/sendSomeEmail")
        public void sendSomeEmail() {

             LocalDateTime fromDate = LocalDateTime.now().minusDays(7);

            service.sendSomeEmail(fromDate);
        }

1 个答案:

答案 0 :(得分:0)

尽管您在Postman用户界面中进行了设置,但该应用程序仍在您的映射上执行GET,因此您会收到该异常。

测试URI包含GET参数(fromDate=...)的地方似乎将覆盖您的POST选择。您会注意到屏幕快照第643行上的method代表GET。

您应该从URI中删除参数,并使用Postman通过POST提供值,我相信您会发现可以在界面的其他位置进行操作。