Skip to content

Conversation

@vivena600
Copy link
Owner

No description provided.

Copy link

@avfyodorov avfyodorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добрый день, Даша!

Хорошая работа, от меня всего пара уточнений.

return Map.of("error validation", ex.getMessage());
}

@ExceptionHandler(MethodArgumentNotValidException.class)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вот тут есть один момент.

Теперь есть (должно быть) два обработчика ошибок: один - в модуле гейтвей, а второй - это сервер. И ошибки перехватываются и обрабатываются, соответственно, разные. Например, на сервере валидация по заданию не нужна( точнее почти не нужна), только на gateway, поэтому и bad request на сервере вроде бы как быть не должно. И наоборот, на gateway не должно быть ничего, имеющего отношение к серверу (not found). Проверьте, пожалуйста, ещё раз этот момент.

На сервере только та валидация входных данных , которая требует работы с БД.
А в остальном на сервере(во всех классах, где ранее была валидация) не должно быть валидации и ее не должно быть и в зависимостях в pom файле тоже.
Есть предложение ещё раз проверить и уточнить, где какие ошибки ловятся и обрабатываются.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поменяла наименование этого обработчика а также код, который он выбрасывает на 500. Данное исключение пробрасывается когда в коде происходит ошибка, связанная с попыткой отправить в бд некорректные данные. В gateway добавила errorHandler с обработкой валидации.

@GetMapping("/search")
public ResponseEntity<Object> searchItems(@RequestHeader("X-Sharer-User-Id") @Positive Long userId,
@RequestParam("text") @NotBlank String text) {
return client.searchItems(userId, text);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше было бы прямо здесь проверить входной параметр text. И, если текст запроса пустой, или недопустимый, например, состоит из пробелов, то прямо отсюда и вернуть результат, не обращаться к серверу. Вернуть можно, например, пустую коллекцию.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо за замечание, исправила

Copy link

@avfyodorov avfyodorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добрый день!

Замечаний нет.
Работа принята.

@vivena600 vivena600 merged commit be040a0 into main Jul 8, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants