Вызов API REST возвращает 400, даже если в коде нет ошибки - PullRequest
0 голосов
/ 11 апреля 2019

Изображение, показывающее ошибку из API Я сделал один API покоя, который манипулирует файлом и затем загружает файл третьему лицу, и тогда у него будет две операции с базой данных.Первый - выбор, а второй - вставка.

В некоторых случаях я получаю 200, но в некоторых случаях я получаю 400. Теперь, когда я получаю 400, управление приходит только до метода выбора, и в этом методе нет ошибки.

Итак, похоже, что запрос получает тайм-аут или что-то.Может кто-нибудь, пожалуйста, предложить правильный способ сделать это?Где я могу изменить время ожидания?

Журналы успеха - [2019-04-11 10:09:26] [T] [http-nio-10.0.0.219-7000-exec-11] [Контроллер] ДОКУМЕНТ, ЗАГРУЖЕННЫЙ В Папку [2019-04-11 10:09:26] [T] [http-nio-10.0.0.219-7000-exec-11] [Контроллер] Проверка правильности перехода из нового NEWстатус - инициирован [2019-04-11 10:09:26] [T] [http-nio-10.0.0.219-7000-exec-11] [Controller] ФУНКЦИЯ ВЫЗОВА ДЛЯ СОХРАНЕНИЯ ОТВЕТА В DIGIO_RESPONSES В БД [2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Контроллер] [LFT] [userId = 12] POST 200 / хранилище / загрузка

ЖУРНАЛЫ ОТКАЗОВ - 2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Контроллер] ДОКУМЕНТ, ЗАГРУЖЕННЫЙ В Папку [2019-04-11 10: 10: 11] [T] [http-nio-10.0.0.219-7000-exec-14] [Контроллер] Проверка допустимости перехода из нового состояния NEW - инициировано [2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Контроллер] [LFT] [userId = 12] POST 400 / хранилище / загрузка

Ответы [ 3 ]

0 голосов
/ 11 апреля 2019
No issue with timeout 

400 Плохой запрос Сервер не может или не будет обрабатывать запрос из-за явной клиентской ошибки (например, синтаксис неверно сформированного запроса, слишком большой размер, неверное кадрирование сообщения запроса илиложная маршрутизация запросов).

504 Тайм-аут шлюза Сервер действовал как шлюз или прокси и не получил своевременный ответ от вышестоящего сервера.

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

В случае REST API с полезной нагрузкой JSON вы можете получить 400, если JSON каким-то образом недопустим в соответствии со спецификацией API для службы.


Good Practice:

Если запрос выполнен успешно, вы можете получить код 2xx (3xx для перенаправления).Если на сервере есть внутренняя логическая ошибка, верните 5xx.Если в запросе клиента что-то не так, вы можете получить код 4xx.

0 голосов
/ 11 апреля 2019

Код ответа об устранении неполадок 400 весной - проклятие моего существования.Меня поражает, как легко исключения регистрируются на DEBUG.

Смотрите мой ответ здесь .Включение ведения журнала DEBUG для определенных пакетов Spring помогло мне во многих случаях устранять подобные сбои.

0 голосов
/ 11 апреля 2019

Это неверный запрос:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

со страницы выше:

это указывает на то, что сервер не может или не будет обрабатывать запрос из-за чего-то, что воспринимается как ошибка клиента (например, синтаксис неверно сформированного запроса, неверное формирование кадра запроса или обманчивая маршрутизация запроса).

Клиент не должен повторять этот запрос без изменений.

Это не тайм-аут. Вам нужно опубликовать дополнительную информацию и посмотреть в журналах вашего веб-сервера, чтобы понять, почему запрос плохой, это может быть несколько вещей.

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