我的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
有人可以帮我解决吗?
更新:删除@RequestParam
后,该异常仍然存在。
@PostMapping("/foos/sendSomeEmail")
public void sendSomeEmail() {
LocalDateTime fromDate = LocalDateTime.now().minusDays(7);
service.sendSomeEmail(fromDate);
}
答案 0 :(得分:0)
尽管您在Postman用户界面中进行了设置,但该应用程序仍在您的映射上执行GET,因此您会收到该异常。
测试URI包含GET参数(fromDate=...
)的地方似乎将覆盖您的POST选择。您会注意到屏幕快照第643行上的method
代表GET。
您应该从URI中删除参数,并使用Postman通过POST提供值,我相信您会发现可以在界面的其他位置进行操作。