generated from yandex-praktikum/java-explore-with-me-plus
-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Description
Зависимости:
COMMENTS-CORE: Сущность Comment, репозиторий и базовый маппинг(полностью).COMMENTS-PRIVATE: Создание комментария пользователем.
Описание Задачи:
Реализовать эндпоинт GET /users/{userId}/comments для получения пользователем списка всех своих комментариев, которые не были "мягко" удалены, с пагинацией.
Основные шаги:
- Repository (
CommentRepository):- Добавить метод
Page<Comment> findByAuthorIdAndIsDeletedFalse(Long authorId, Pageable pageable);.
- Добавить метод
- Service (
CommentServiceImpl):- Создать метод
getUserComments(Long userId, int from, int size). - Логика:
- Проверить существование пользователя
userId(черезUserRepository). Если нет -EntityNotFoundException. - Создать
Pageable. - Вызвать метод репозитория.
- Смапить
Page<Comment>вList<CommentDto>.
- Проверить существование пользователя
- Создать метод
- Controller (
PrivateCommentController):- Добавить эндпоинт
GET /users/{userId}/comments. - Принимает
@PathVariable Long userId,@RequestParam(defaultValue="0") int from,@RequestParam(defaultValue="10") int size. - Вызывает метод сервиса.
- Возвращает
List<CommentDto>со статусом200 OK.
- Добавить эндпоинт
- Тесты: Юнит-тесты для сервиса и контроллера.
Критерии готовности:
- Эндпоинт
GET /users/{userId}/commentsреализован. - Возвращается список не удаленных комментариев, принадлежащих указанному пользователю.
- Реализована пагинация.
- Написаны юнит-тесты.