CRUD для для проекта социальной сети.
- Реализован REST API для сервиса публикации постов;
- Аутентификация по JWT-токену;
- Работает со всеми модулями Yatube: постами, комментариями, группами и подписчиками.
- Поддерживает методы GET, POST, PUT, PATCH, DELETE;
- Предоставляет данные в формате JSON.
-
Клонировать репозиторий:
git clone https://github.com/egorcoders/api_blog.git
-
Перейти в папку с проектом:
cd api_blog/
-
Установить виртуальное окружение для проекта:
python -m venv venv
-
Активировать виртуальное окружение для проекта:
# для OS Lunix и MacOS source venv/bin/activate # для OS Windows source venv/Scripts/activate
-
Установить зависимости:
python3 -m pip install --upgrade pip pip install -r requirements.txt
-
Выполнить миграции на уровне проекта:
cd yatube python3 manage.py makemigrations python3 manage.py migrate
-
Выполнить POST-запрос
http://localhost:8000/api/v1/token/
передав поляusername
иpassword
. -
Получить от API JWT-токен в формате:
{ "refresh": "xxx", "access": "xxx" }
-
В поле
access
вернётся токен. Данные в полеrefresh
будут необходимы для обновления токена. -
При отправке запроcов передать токен в заголовке
Authorization: Bearer <токен>
.
Результат POST-запроса с токеном пользователя на добавление нового поста:
-
Пример запроса:
{ "text": "Текст", "group": 1 }
-
Пример ответа:
{ "id": 1, "text": "Текст", "author": "Имя", "image": null, "group": 1, "pub_date": "2022-05-11T08:47:10.084572Z" }
Автор: К.Гурашкин