Skip to content

Naz1anmak/java-explore-with-me-plus

Repository files navigation

Комментарии — API (техническое задание)

Краткое описание: набор REST-эндпоинтов для управления комментариями. Три уровня доступа:

  • Admin — администраторские операции (удаление комментария по его идентификатору).
  • Private — операции пользователя над собственными комментариями (создать, изменить, удалить, получить все свои комментарии).
  • Public — публичный доступ (просмотр комментариев конкретного события).

AdminCommentController

Цель: операции управления всеми комментариями.

  • DELETE /admin/comments/{commentId}
    • Описание: удалить комментарий (жёсткое удаление) по его идентификатору.
    • Ограничения: без модерации комментариев.
    • Права: только админ.
    • Ответ: 204 No Content при успехе.

PrivateCommentController

Цель: пользовательские операции над собственными комментариями.

  • POST /users/{userId}/comments/{eventId}

    • Описание: создать новый комментарий от имени пользователя userId.
    • Ограничения: длина комментария 5000 символов, проверка существования идентификаторов события и пользователя.
    • Права: только аутентифицированный пользователь.
    • Ответ: 201 Created с созданным объектом.
  • PATCH /users/{userId}/comments/{eventId}/{commentId}

    • Описание: обновить собственный комментарий.
    • Ограничения: длина комментария 5000 символов, проверка существования идентификаторов комментария, события и пользователя.
    • Права: только автор комментария.
    • Ответ: обновлённый объект комментария.
  • DELETE /users/{userId}/comments/{commentId}

    • Описание: удалить собственный комментарий (жёсткое удаление).
    • Ограничения: проверка существования идентификаторов комментария и пользователя.
    • Права: только автор комментария.
    • Ответ: 204 No Content.
  • GET /users/{userId}/comments

    • Описание: получить список собственных комментариев.
    • Ограничения: организовать пагинацию (по умолчанию по 10 комментариев на странице).
    • Права: только аутентифицированный пользователь.
    • Ответ: список комментариев.

PublicCommentController

Цель: публичный просмотр комментариев.

  • GET /comments/event/{eventId}
    • Описание: получить публичный список комментариев к событию.
    • Ограничения: организовать пагинацию (по умолчанию по 10 комментариев на странице).
    • Доступ: публичный (без авторизации).
    • Ответ: список публичных комментариев.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors