Skip to content

REST API для социальной сети блогеров Yatube.

Notifications You must be signed in to change notification settings

Atrocraz/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API_final_yatube:

REST API для социальной сети блогеров Yatube, созданной в рамках учебного курса Яндекс.Практикум Для аутентификации используется JWT-токен. Работает со всеми модулями Yatube: постами, комментариями, группами, подписками Поддерживает методы GET, POST, PUT, PATCH, DELETE Предоставляет данные в формате JSON Аутентифицированным пользователям разрешено изменение и удаление своего контента; в остальных случаях доступ предоставляется только для чтения. Доступ к подпискам и просмотру подписок предоставляется только аутентифицированным пользователям.

Установка:

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

git clone git@github.com:LynnG3/api_final_yatube.git
cd yandex_api

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

python3 -m venv venv
source venv/bin/activate

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

python3 -m pip install --upgrade pip
pip install -r requirements.txt

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

python3 manage.py migrate

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

python3 manage.py runserver

После запуска проекта, по адресу http://127.0.0.1:8000/redoc/ будет доступна документация для API Yatube. Документация представлена в формате Redoc.

Примеры запросов:

PATCH запрос к модели публикации - частичное обновление http://127.0.0.1:8000/api/v1/posts/{id}/ успешный ответ (код 200):

{
"id": 0,
"author": "string",
"text": "string",
"pub_date": "2019-08-24T14:15:22Z",
"image": "string",
"group": 0
}

доступ запрещен (код 403)

{
"detail": "У вас недостаточно прав для выполнения данного действия."
}

GET запрос к модели публикации http://127.0.0.1:8000/api/v1/posts/{id}/ успешный ответ (код 200):

{
  "id": 0,
  "author": "string",
  "text": "string",
  "pub_date": "2019-08-24T14:15:22Z",
  "image": "string",
  "group": 0
}

пост не найден (код 404):

{
"detail": "Страница не найдена."
}

Технологический стек проекта:

Проект написан на Python 3.9 с использованием DjangoRestFramework 3.12.4 Подключена библиотека Simple JWT для работы с JWT-токеном; реализация авторизации - с помощью пакета djoser2.1.0 Тестирование: pytest6.2.4 pytest-pythonpath0.7.3 pytest-django4.4.0 Система управления версиями - git

Об авторе:

Минеев Владимир под руководством команды "Яндекс.Практикум" Аккаунт на Github: Atrocraz

About

REST API для социальной сети блогеров Yatube.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published