Spring Boot - иногда сервер отклоняет запросы Http с «Метод не поддерживается» - 405 http статус - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть разработанное веб-приложение Spring Boot, которое в настоящее время находится в производстве.

С момента запуска я заметил в журналах сообщения типа «Метод запроса« GET »не поддерживается», «Метод запроса« POST »не поддерживается»

Сначала я думал, что они неактуальны, поскольку мы никогдастолкнулся с этим во время разработки или тестирования.

Но после некоторого копания я понял, что это иногда случается, когда клиент пробует известные маршруты GET / POST Rest, которые работают без проблем в 95% случаев.

Я пытаюсь найти основную причину, но до сих пор я не нашел решения.

Я создал HandlerInterceptor и в методе afterCompletion я регистрирую URL, заголовки и полезную нагрузку для запросов, которыевозвращаются клиенту с 405 (метод не разрешен) Http Status.Но, похоже, с запросом все в порядке.Отсутствие косой черты в конце URL-адреса, фиктивные / отсутствующие параметры внутри полезной нагрузки, тип метода соответствует ожидаемому.

Это пример отображения маршрута (все они выполняются одинаково бездругие дополнения)

@RequestMapping(value = "/my/route", method = RequestMethod.POST) public ResponseEntity<?> requestWithdrawal(@Valid @RequestBody InputViewModel model, HttpServletRequest request) { ... }

Я не знаю, какой подход я должен использовать для дальнейшего расследования.

Более подробная информация, которая, на мой взгляд, может иметь отношение к делу:

- Mapping is properly done - I didn't manage to reproduce this until now
- I don't use any load balancer
- I don't have csrf - it is disabled
- Spring Boot version is 1.5.4
- Client is AngularJS so all the calls are send using $http() built-in library.

Если у вас есть какие-либо советы, я буду очень признателен.

Заранее спасибо!

...