Skip to content

Latest commit

 

History

History
94 lines (72 loc) · 3.73 KB

README.md

File metadata and controls

94 lines (72 loc) · 3.73 KB

api_final

Описание

REST API для работы с веб-сайтом YaTube.

Позволяет просматривать, добавлять, редактировать и удалять следующие ресурсы:

  • посты
  • комментарии к постам
  • подписки на авторов (только в режиме чтения и создания)
  • группы (только в режиме чтения)

Права на использование API

  • Просмотр групп, постов и комментариев к ним доступен всем пользователям.

  • Создание постов и комментариев, подписка на авторов и просмотр подписок доступно авторизованным пользователям.

  • Редактирование и удаление постов и комментариев доступно авторам контента.

Виды запросов к API

  1. Эндпойнт api/v1/jwt/create/
    • GET - получение JWT-токена
  2. Эндпойнт api/v1/jwt/refresh/
    • GET - обновление JWT-токена
  3. Эндпойнт api/v1/jwt/verify/
    • GET - проверка JWT-токена
  4. Эндпойнт api/v1/posts/
    • GET - получение списка постов (возможна пагинация при указаниии параметров limit и offset)
    • POST - создание нового поста
  5. Эндпойнт api/v1/posts/{post_id}/
    • GET - получение поста с указанным id
    • PUT - полное изменение поста
    • PATCH - частичное изменение поста
    • DELETE - удаление поста
  6. Эндпойнт api/v1/posts/{post_id}/comments/
    • GET - получение списка комментариев для поста с указанным id
    • POST - создание нового нового комментария для поста с указанным id
  7. Эндпойнт api/v1/posts/{post_id}/comments/{id}/
    • GET - получение комментария с указанным id
    • PUT - полное изменение комментария
    • PATCH - частичное изменение комментария
    • DELETE - удаление комментария
  8. Эндпойнт api/v1/groups/
    • GET - получение списка доступных сообществ
  9. Эндпойнт api/v1/groups/{id}/
    • GET - получение информации о сообществе по id
  10. Эндпойнт api/v1/follow/
    • GET - все подписки пользователя, сделавшего запроc (возможен поиск по параметру search)
    • POST - подписка на автора (нельзя дублировать подписки и подписываться на самого себя)

Установка

Клонировать репозиторий и перейти в него в командной строке:

git clone https://github.com/Julka3561/api_final_yatube.git
cd api_final_yatube

Cоздать и активировать виртуальное окружение:

python -m venv env
source venv/scripts/activate
python -m pip install --upgrade pip

Установить зависимости из файла requirements.txt:

pip install -r requirements.txt

Выполнить миграции:

python manage.py migrate

Запустить проект:

python manage.py runserver