Conversation
|
Полностью заменил мапперы на MapStruct. Проходит все тесты фз 15 |
|
Это действует только на gateway |
|
Как проснусь откачу до рабочего варианта. Больше вопрос по тому правильно ли присоединены dokerfile-лы к compose и так ли нужно делать |
avfyodorov
left a comment
There was a problem hiding this comment.
Добрый день, Дмитрий!
Хорошая работа, всего пара небольших уточнений.
| - shareit-network | ||
|
|
||
| # Gateway | ||
| gateway: |
There was a problem hiding this comment.
Конечно, лучше подождать, послушать, что скажет наставник. Они теперь как-то по-другому организовывают.
То что вижу я: избавиться от кириллицы, на всякий случай; вообще убрать всё лишнее …
Приблизительно, вот так:
gateway:
build: ./gateway
image: gateway
container_name: gateway
ports:
- "8080:8080"
depends_on:
- server
environment:
- SHAREIT_SERVER_URL=http://server:9090
И для сервера с базой данных аналогично
| import ru.practicum.gateway.exception.*; | ||
|
|
||
| @Slf4j | ||
| @RestControllerAdvice |
There was a problem hiding this comment.
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public ErrorResponse internalServerException(final InternalServerException e) {
Вот тут у меня вопрос. Как известно:
Ошибка 500 Internal Server Error - это внутренняя серверная проблема, ее возникновение обусловлено тем, что от клиента (браузера, десктопной программы и т. п.) в сторону сервера поступает запрос, а сервер не может корректно его обработать.
Мы же еще находимся на гейтвей, так? Проверяем данные, нашли, что что-то не так с входными параметрами... Причём тут сервер?
Список возможных статусов, в принципе, известен заранее...
| return new ErrorResponse("ERROR[400]: Произошла ошибка MethodArgumentTypeMismatchException: ", e.getMessage()); | ||
| } | ||
|
|
||
| @ExceptionHandler(MethodArgumentNotValidException.class) |
There was a problem hiding this comment.
Теперь есть два обработчика ошибок: один - в модуле гейтвей, а второй - это сервер. И ошибки перехватываются и обрабатываются, соответственно, разные. Например, на сервере валидация по заданию не нужна( точнее почти не нужна), только на gateway, поэтому и bad request на сервере вроде бы как быть не должно. И наоборот, на gateway не должно быть ничего, имеющего отношение к серверу (not found).
На сервере только та валидация входных данных , которая требует работы с БД.
А в остальном на сервере(во всех классах, где ранее была валидация) не должно быть валидации и ее не должно быть и в зависимостях в pom файле тоже.
Есть предложение ещё раз проверить и уточнить, где какие ошибки ловятся и обрабатываются.
|
Здравствуйте, я в упор не понимаю почему возникает ошибка если я добавляю эту проверку |
|
обратно вернул LocalDateTime |
|
Почему то все тесты прошли...... |
Всё, больше ничего не трогаем... срочно принимаю работу. 🙂 |
avfyodorov
left a comment
There was a problem hiding this comment.
Добрый вечер, Дмитрий!
Замечаний нет.
Работа принята.





No description provided.