Skip to content

AndyPlo/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API для Yatube

Учебный проект Яндекс.Практикум курса Python-разработчик(backend).

Описание

Yatube - социальная сеть для публикации дневников. Позволяет публиковать посты, комментировать посты, осуществлять подписку на авторов.

Для разработки API использован Django REST framework.

Установка и запуск в dev-режиме

  1. Установите виртуальное окружение (команда: python -m venv venv).
  2. Активируйте виртуальное окружение (команда: source venv/Scripts/activate).
  3. Установите зависимости из файла requirements.txt (команда: pip install -r requirements.txt).
  4. Запустите dev-сервер (команда: python manage.py runserver).

Документация к API

После запуска dev-сервера документация к API доступна по адресу: http://127.0.0.1:8000/redoc/

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

Публикация и получение постов

Request: [GET] http://127.0.0.1:8000/api/v1/posts/?limit=2&offset=1

Response:

{
    "count": 5,
    "next": "http://127.0.0.1:8000/api/v1/posts/?limit=2&offset=3",
    "previous": "http://127.0.0.1:8000/api/v1/posts/?limit=2",
    "results": [
        {
            "id": 2,
            "author": "string",
            "text": "string",
            "pub_date": "2022-08-06T10:01:17.273956Z",
            "image": "string",
            "group": 0
        },
        {
            "id": 3,
            "author": "string",
            "text": "string",
            "pub_date": "2022-08-06T10:42:39.095878Z",
            "image": "string",
            "group": 0
        }
    ]
}

Request: [POST] http://127.0.0.1:8000/api/v1/posts/

Request body:

{
    "text": "string",
    "image": "string",
    "group": 0
}

Response:

{
    "id": 0,
    "author": "string",
    "text": "string",
    "pub_date": "2022-08-06T10:59:31.721673Z",
    "image": "string",
    "group": 0
}

Публикация и получение комментариев к постам

Request:[GET] http://127.0.0.1:8000/api/v1/posts/1/comments/

Response:

[
    {
        "id": 1,
        "author": "string",
        "post": 1,
        "text": "string",
        "created": "2022-08-06T10:59:31.721673Z"
    }
]

Request:[POST] http://127.0.0.1:8000/api/v1/posts/1/comments/

Request body:

{
    "text": "1st comment"
}

Response:

{
    "id": 1,
    "author": "string",
    "post": 1,
    "text": "string",
    "created": "2022-08-06T10:59:31.721673Z"
}

Подписка на авторов

Request: [GET] http://127.0.0.1:8000/api/v1/follow/

Response:

[
    {
        "user": "string",
        "following": "string"
    }
]

Request: [POST] http://127.0.0.1:8000/api/v1/follow/

Request body:

{
    "following": "string"
}

Response:

{
    "user": "string",
    "following": "string"
}

Автор

Андрей Плотников (Andy.Plo@yandex.ru)

About

API for Yatube Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages