Основные объекты взаимодействия:
• Пользователи
• Фильмы
• Жанры
• Рейтинги возрастных ограничений
Для управления пользователями доступно:
• Создать нового пользователя
• Изменить существующего пользователя
• Получить конкретного пользователя по его id
• Получить список всех пользователей
• Добавить в друзья
• Удалить из друзей
• Получить список друзей конкретного пользователя
• Получить список общих друзей пользователей
Для управления фильмами доступно:
• Добавить новый фильм
• Изменить существующий фильм
• Получить фильм по его id
• Получить список всех фильмов
• Добавить лайк конкретному фильму
• Удалить лайк у конкретного фильма
• Получить топ-фильмов, с возможностью указания их количества
• Получить список всех жанров фильмов, доступных в сервисе
• Получить список всех возрастных рейтингов фильмов, доступных в сервисе
Примеры запросов:
Получить пользователя с id = 5
SELECT *
FROM users
WHERE id = 5;
Получить список всех друзей пользователя с id = 5
SELECT *
FROM users
WHERE id IN
(SELECT friend_user_id
FROM friendship
WHERE user_id = 5);
Получить фильм с id = 3
SELECT *
FROM films
WHERE film_id = 3;
Получить ТОП-10 фильмов
SELECT f.name AS topfilms
FROM films AS f
LEFT JOIN film_likes AS lk ON f.id = lk.film_id
GROUP BY topfilms ORDER BY COUNT(lk.user_id) DESC LIMIT 10;
- Выполните клонирование репозитория и откройте его в IntelliJ IDEA.
- Запустите класс
FilmorateApplicationс методомmain.
- Выполните клонирование репозитория и откройте его в IntelliJ IDEA.
- Запустите тесты в папке
filmorate/src/test/java.
Проверка эндпоинтов выполняется с использованием json-коллекции,
которую необходимо импортировать в приложение для тестирования API, например Postman.
Предварительно необходимо запустить приложение в классе FilmorateApplication.