Skip to content

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

Notifications You must be signed in to change notification settings

Julka3561/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published