💡 Ветка для реализации задачи должна называться add-reviews.
Описание задачи
В приложении должны появиться отзывы на фильмы. Добавленные отзывы должны иметь рейтинг и несколько дополнительных характеристик.
Характеристики отзыва.
Оценка — полезно/бесполезно.
Тип отзыва — негативный/положительный.
Рейтинг отзыва.
У отзыва имеется рейтинг. При создании отзыва рейтинг равен нулю. Если пользователь оценил отзыв как полезный, это увеличивает его рейтинг на 1. Если как бесполезный, то уменьшает на 1.
Отзывы должны сортироваться по рейтингу полезности.
API
POST /reviews
Добавление нового отзыва.
PUT /reviews
Редактирование уже имеющегося отзыва.
DELETE /reviews/{id}
Удаление уже имеющегося отзыва.
GET /reviews/{id}
Получение отзыва по идентификатору.
GET /reviews?filmId={filmId}&count={count}
Получение всех отзывов по идентификатору фильма, если фильм не указан то все. Если кол-во не указано то 10.
PUT /reviews/{id}/like/{userId} — пользователь ставит лайк отзыву.
PUT /reviews/{id}/dislike/{userId} — пользователь ставит дизлайк отзыву.
💡 Ветка для реализации задачи должна называться
add-reviews
.Описание задачи
В приложении должны появиться отзывы на фильмы. Добавленные отзывы должны иметь рейтинг и несколько дополнительных характеристик.
Характеристики отзыва.
Рейтинг отзыва.
У отзыва имеется рейтинг. При создании отзыва рейтинг равен нулю. Если пользователь оценил отзыв как полезный, это увеличивает его рейтинг на 1. Если как бесполезный, то уменьшает на 1.
Отзывы должны сортироваться по рейтингу полезности.
API
POST /reviews
Добавление нового отзыва.
PUT /reviews
Редактирование уже имеющегося отзыва.
DELETE /reviews/{id}
Удаление уже имеющегося отзыва.
GET /reviews/{id}
Получение отзыва по идентификатору.
GET /reviews?filmId={filmId}&count={count}
Получение всех отзывов по идентификатору фильма, если фильм не указан то все. Если кол-во не указано то 10.PUT /reviews/{id}/like/{userId}
— пользователь ставит лайк отзыву.PUT /reviews/{id}/dislike/{userId}
— пользователь ставит дизлайк отзыву.DELETE /reviews/{id}/like/{userId}
— пользователь удаляет лайк/дизлайк отзыву.DELETE /reviews/{id}/dislike/{userId}
— пользователь удаляет дизлайк отзыву.Описание JSON-объекта с которым работают эндпоинты