Spring @PostMapping выдает HttpRequestMethodNotSupportedException - PullRequest
0 голосов
/ 13 декабря 2018

Мой 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 голосов
/ 13 декабря 2018

Несмотря на ваши настройки в пользовательском интерфейсе Postman, приложение выполняет GET для вашего сопоставления, и, таким образом, вы получаете это исключение.

Проверка, где URI включает параметры GET (fromDate=...), кажется,переопределить ваш выбор POST.Вы заметите, что method в строке 643 вашего скриншота обозначает GET.

Вы должны удалить параметр из URI и использовать Postman для предоставления значений через POST, что, я полагаю, вы найдете способностью делатьв другом месте интерфейса.

...