CrockoMan / api_blog

CRUD для для проекта социальной сети.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CRUD для Blog

Python Django Pytest Postman

CRUD для для проекта социальной сети.

Описание

Функционал

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

Установка

  1. Клонировать репозиторий:

    git clone https://github.com/egorcoders/api_blog.git
  2. Перейти в папку с проектом:

    cd api_blog/
  3. Установить виртуальное окружение для проекта:

    python -m venv venv
  4. Активировать виртуальное окружение для проекта:

    # для OS Lunix и MacOS
    source venv/bin/activate
    
    # для OS Windows
    source venv/Scripts/activate
  5. Установить зависимости:

    python3 -m pip install --upgrade pip
    pip install -r requirements.txt
  6. Выполнить миграции на уровне проекта:

    cd yatube
    python3 manage.py makemigrations
    python3 manage.py migrate

Аутентификация

  1. Выполнить POST-запрос http://localhost:8000/api/v1/token/ передав поля username и password.

  2. Получить от API JWT-токен в формате:

    {
      "refresh": "xxx",
      "access": "xxx"
    }
  3. В поле access вернётся токен. Данные в поле refresh будут необходимы для обновления токена.

  4. При отправке запроcов передать токен в заголовке Authorization: Bearer <токен>.

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

Результат POST-запроса с токеном пользователя на добавление нового поста:

  1. Пример запроса:

    {
        "text": "Текст",
        "group": 1
    }
  2. Пример ответа:

    {
        "id": 1,
        "text": "Текст",
        "author": "Имя",
        "image": null,
        "group": 1,
        "pub_date": "2022-05-11T08:47:10.084572Z"
    }

Автор: К.Гурашкин

About

CRUD для для проекта социальной сети.


Languages

Language:Python 100.0%