/endpoint

Primary LanguagePython

Задание:

Сделать ендпоинт POST /workers/

Который принимает обьект сотрудник:

  1. fullname
  2. age
  3. bio
  4. signup_at (не принимается а заполняется текщим временем)

GET /workers/{worker_id}/

  1. id (автоприсвоенный)
  2. fullname
  3. age
  4. bio
  5. signup_at
  6. last_login (последний логин, по умолчанию None)

POST /login/

  1. fullname
  2. last_login (текущая дата, не принимается а заполняется). Данные можно хранить в json.

Описание проекта:

API для управления данными о сотрудниках и аутентификации в системе.


Установка зависимостей

  1. Убедитесь, что у вас установлен Python на вашем компьютере.
  2. Создайте и активируйте виртуальное окружение. Для этого выполните следующие команды в корневой директории вашего проекта:
python3 -m venv venv

Windows:

venv\Scripts\activate

macOS/Linux:

source venv/bin/activate
  1. Установите все зависимости из файла requirements.txt с помощью pip:
pip install -r requirements.txt

Инструменты:

  • Python
  • FastApi
  • Pydantic
  • Postman

Создаем экземпляр FastAPI, он будет нашим веб-приложением:

app = FastAPI()

Создаем модели данных для работника и модель данных для запроса входа в систему:

  • class Worker(BaseModel):
  • class LoginRequest(BaseModel):

В моделях наследуемся от BaseModel, который является базовым классом в Pydantic. Это позволяет использовать все функции Pydantic для проверки и валидации данных

После создаем POST и GET обработчик:

@app.post("/workers")

@app.get("/workers/{worker_id}")

@app.post("/login/")

К каждому обработчику пишем свой функционал.

После написания запускаем приложение:

uvicorn main:app --reload

В Postman в поле адрес указываем:

localhost:8000

В зависимости от эндпоинтов которые мы создали ранее, выполняем проверку корректности работы нашего API