Tomcat отклоняет все запросы POST - PullRequest
0 голосов
/ 11 июля 2019

Я создал REST API в Spring, который возвращает значение, переданное как JSON в запросе тела, плюс некоторые дополнительные данные. При запуске приложения с использованием spring-boot все работает нормально. Я получаю ожидаемое значение каждый раз, когда я делаю запрос.

Моя цель - развернуть это приложение на Tomcat через порт 8080. После развертывания приложения на Tomcat все POST запросы отклоняются, и я получаю следующую ошибку:

{ "timestamp": "2019-07-11T12:33:41.877+0000", "status": 405, "error": "Method Not Allowed", "message": "Request method 'GET' not supported", "path": "/test/" }

Проблема в том, что я делаю POST запрос, используя POSTMAN. Вот как выглядит тело запроса:

{ "username":"somebody" }

Код моего API:

@RestController
public class Test{

    @RequestMapping(value = "/", method = RequestMethod.POST)
    String token(@RequestBody RequestBodyData requestBody) {

    return "hello" + requestBody.getUsername();
    }

}


Почему я получаю эту ошибку? Должен ли я изменить конфигурацию Tomcat или мой код неверен?

РЕДАКТИРОВАТЬ 1 Я также развернул это приложение на WildFly сервере, и все работает, как я ожидал. Я правильно использую Postman, проблема в Tomcat или конфигурации проекта.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Вам нужно изменить свой запрос с GET на POST . Об этом свидетельствует сообщение об ошибке, которое вы получаете по вашему запросу:

"error": "Method Not Allowed",
"message": "Request method 'GET' not supported",

Чтение ошибки (обычно) объясняет ошибку.

0 голосов
/ 16 июля 2019

Изменить конечную точку с / на /user/ и call from tomcat as /test/user/ ( /appNameAsPerTomcat/user/ )

@RestController
public class Test{

    @RequestMapping(value = "/user/", method = RequestMethod.POST)
    String token(@RequestBody RequestBodyData requestBody) {

    return "hello" + requestBody.getUsername();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...