API для DjangoLinker.
- Подписка и отписка от автора авторизованным пользователем;
- Авторизованный пользователь может просматривать посты, создавать новые, удалять и изменять их;
- Пользователь может просматривать список сообществ;
- Пользователь может создавать, просматривать, удалять и обновлять комментарии;
- Доступна фильтрация по подпискам.
-
Клонировать репозиторий:
git clone https://github.com/PrimeStr/api_django_linker.git
-
Перейти в папку с проектом:
cd django_linker_api/
-
Установить виртуальное окружение для проекта:
# для OS Linux и MacOS python3 -m venv venv # для OS Windows python -m venv venv
-
Активировать виртуальное окружение для проекта:
# *source* можно заменить на . # для OS Linux и MacOS source venv/bin/activate # для OS Windows source venv/Scripts/activate
-
Установить зависимости:
pip install -r requirements.txt
-
Перейти в папку django_linker_api и выполнить миграции на уровне проекта:
cd django_linker_api # для OS Linux и MacOS python3 manage.py migrate # для OS Windows python manage.py migrate
-
Запустить проект локально:
# для OS Linux и MacOS python3 manage.py runserver # для OS Windows python manage.py runserver
Для начала нужно зарегистрировать пользователя
: Отправить POST-запрос на эндпоинт 'api/v1/users/'
и передать в нём 2 поля:
{
"username": "Ваше_имя_пользователя",
"password": "Ваш_пароль"
}
Получение токена
: Отправить POST-запрос на эндпоинт 'api/v1/users/'
и передать в нём 2 поля:
{
"username": "Ваше_имя_пользователя",
"password": "Ваш_пароль"
}
В ответе от API в поле"token"
вы получите токен. Сохраните его.
Создание поста
: Отправить POST-запрос на эндпоинт api/v1/posts/
и передать в него обязательное поле text
, в заголовке указать тот самый скопированный ранее токен:Authorization
:Bearer <токен>
.
-
Пример запроса:
{ "text": "Это мой первый пост." }
-
Пример ответа:
{ "id": 2, "author": "Ваше_имя_пользователя", "text": "Это мой первый пост.", "pub_date": "2023-06-4T12:00:22.021094Z", "image": null, "group": null }
Комментирование поста пользователя
: Отправить POST-запрос на эндпоинт api/v1/posts/{post_id}/comments/
и передать в него обязательные поля post
(id поста) и text
, в заголовке так же обязательно указать токен как в предыдущем примере.
-
Пример запроса:
{ "post": 1, "text": "Это мой первый комментарий." }
-
Пример ответа:
{ "id": 1, "author": "Ваше_имя_пользователя", "text": "Это мой первый комментарий.", "created": "2023-06-4T12:12:22.021094Z", "post": 1 }
# Документацию проекта вы можете найти по адресу:
http://127.0.0.1:8000/redoc/
# Для доступа к документации проект должен быть запущен.
# Для создания и тестирования API использовался Postman:
https://www.postman.com/
# Крайне рекомендую воспользоваться им.