Skip to content

Final polish before review - #20

Merged
ksupyl merged 1 commit into
developfrom
add-remove-endpoint
Oct 11, 2026
Merged

ksupyl merged 1 commit into
developfrom
add-remove-endpoint

Conversation

@ksupyl

@ksupyl ksupyl commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Полировка перед отправкой на ревью Практикума.
Поведение функций не менялось, кроме бага в поиске (про регистр ниже).

Ошибки: 400 вместо 500

  • ErrorHandler: нет обязательного параметра, параметр не того типа, битый JSON -> 400; тело не в JSON -> 415; неизвестный адрес -> 404; не тот HTTP-метод -> 405.
  • Ответ 500 больше не показывает клиенту SQL и тексты исключений - они только в логе.
  • PUT /films, PUT /users, PUT /directors без id -> 400. Рейтинг, жанр или режиссёр без id -> 400.
  • Ошибки валидации: в ответе поле и сообщение вместо длинного текста Spring.

Код

  • Проверка sortBy и by переехала из FilmDbStorage в FilmService, обе без учёта регистра. Раньше by=Title проходил проверку, но поиск его не понимал и отдавал 400.
  • Director сравнивается по id, как Genre и Mpa: дубль режиссёра в запросе больше не роняет запись в film_director.
  • @Transactional там, где пишем в несколько таблиц: фильм с жанрами и режиссёрами; лайк, друг и отзыв вместе с событием ленты.
  • Запросы фильмов режиссёра и поиска собраны из общих SELECT_FILMS и GROUP_BY_FILM; в DirectorDbStorage явные колонки вместо SELECT *.
  • Убраны likes и friends из Film и User - остались с in-memory этапа и нигде не использовались.
  • Единые сообщения "Режиссёр с id=… не найден", порядок импортов, форматирование, schema.sql.

Тесты

  • ErrorHandlerTest на MockMvc - 12 тестов на коды ответов.

README

  • Таблица команды с зонами ответственности, этапы проекта сразу под ней, все восемь функций в "Этап 4", /films/search в эндпоинтах, пример SQL поиска.
  • Убраны строка-дубль про популярные, Mockito и unit-тесты сервисов, которых в проекте нет.

@Kirill-Kazantcev Kirill-Kazantcev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Апрув, все окей, я бы подумал над переходом к JavaDoc комментариям после задач рефакторинга.

@ksupyl

ksupyl commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

Апрув, все окей, я бы подумал над переходом к JavaDoc комментариям после задач рефакторинга.

Спасибо!
Про JavaDoc согласна, хорошая идея на потом. Сейчас перед сдачей не хочу трогать все комментарии разом)

@ksupyl
ksupyl merged commit 18498ae into develop Oct 11, 2026
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