Прежде чем мы углубимся в подробности FastAPI, нам сначала нужно понять, что такое FastAPI?

FastAPI — это очень высокопроизводительная и простая в использовании современная веб-инфраструктура Python для быстрого и эффективного создания API-интерфейсов RESTful и WebSocket.
Когда я говорю «очень высокая производительность», подумайте о NodeJS и Go, потому что скорость этой среды в буквальном смысле слова. наравне с ними.

Эта платформа позволяет вам кодировать свои функции намного быстрее и иметь меньше ошибок из-за использования подсказок по типам, а кому не нравятся подсказки по типам, я имею в виду, что вам больше не придется ломать голову, пытаясь выяснить, где ваша ошибка.
Один Среди функций, которые мне нравятся в FastAPI, — это «автодокументация» или «автоматическая интерактивная документация», которая представляет собой встроенную функцию, обеспечивающую автоматическое создание документации API.

Эта функция дает возможность спокойно работать над серверной частью без хлопот с документацией.
Люди в Microsoft, Uber и Netflix могут сказать много хорошего о FastAPI.

Преимущества использования FastAPI

  • Производительность: FastAPI использует Starlette и Pydantic, известные своей исключительной производительностью в экосистеме Python. Следовательно, FastAPI может похвастаться способностью эффективно обрабатывать значительный объем запросов в секунду.
  • Масштабируемость. Модульность и простота FastAPI обеспечивают плавную интеграцию с балансировщиками нагрузки, облегчая масштабируемость и обеспечивая эффективное использование ресурсов.
  • Автоматическое документирование. FastAPI автоматически генерирует интерактивную документацию по API, используя OpenAPI и схему JSON. Вы можете просматривать и тестировать конечные точки API в веб-интерфейсе Swagger или ReDoc. Эта функция облегчает разработчикам понимание и использование вашего API.
  • Простота использования. FastAPI — это платформа Python, поэтому преимущества использования Python наследуются. Мало того, FastAPI делает создание вашего сервера и конечных точек простым и быстрым.
  • Асинхронный: FastAPI изначально разработан как асинхронный, что позволяет вам писать асинхронный код для обработки параллелизма и повышения производительности там, где это необходимо.
  • Проверка запроса: FastAPI обеспечивает проверку запроса с гораздо более подробным сообщением об ошибке, доступным для чтения пользователями. Это также связано с использованием Pydantic для спецификации типа данных запроса.

FastAPI в сравнении с другими платформами Python

FastAPi против Flask

Flask — это гибкая среда, к которой разработчики Python обращаются для быстрого создания веб-приложений. Что отличает Flask, так это его философия дизайна, которая дает разработчикам повышенную степень контроля и адаптивности при формировании своих приложений. Это гарантирует, что каждый аспект приложения может быть точно адаптирован для удовлетворения конкретных потребностей и требований.

Напротив, FastAPI уделяет основное внимание созданию исключительно высокопроизводительных и масштабируемых приложений с поразительной скоростью. В этой статье рассматриваются его дополнительные преимущества, которые делают его особенно подходящим для разработки сложных и требовательных приложений.

FastAPI против Джанго

Django выделяется как надежная серверная среда Python, предлагающая обширный набор встроенных библиотек, адаптированных для удовлетворения разнообразных требований проектов. Он может похвастаться такими мощными функциями, как система объектно-реляционного сопоставления (ORM), механизмы аутентификации и возможности маршрутизации, что делает его исключительно подходящим для разработки сложных веб-приложений.

С другой стороны, FastAPI представляет собой гибкую микроплатформу с упором на легкий дизайн. Хотя он и не может похвастаться такой обширной библиотечной экосистемой, как Django, он с лихвой компенсирует это невероятной скоростью. В отличие от структурированной системы приложений Django, FastAPI использует современные методологии Python, чтобы раскрыть свои сильные стороны, что приводит к заметному повышению производительности.

Давайте посмотрим, насколько легко им пользоваться.

Установка

pip install fastapi
 // Or
pip install fastapi[all] // This install other optional depencies

Создание вашего первого маршрута

Откройте редактор кода, создайте файл main.py и напишите следующее.

from fast import FastAPI

app = FastAPI()

@app.get("/")
async def root():
  return {"message" : "Hello World"}

Сохраните файл в main.py и запустите работающий сервер, используя следующую команду:

uvicorn main:app --reload

Команда uvicorn main:app относится к:

  • main: файл main.py (модуль Python).
  • app: объект, созданный внутри main.py со строкой app = FastAPI().
  • --reload: сделать перезапуск сервера после изменения кода. Используйте только для разработки.

Вывод на вашем терминале должен выглядеть следующим образом:

Откройте браузер и введите http://127.0.0.1.800

Вы увидите ответ в формате JSON.

{"message": "Hello World"}

Чтобы просмотреть документацию вашего первого API, перейдите по адресу http://127.0.0.1.800/docs.

Заключение

Спасибо, что дошли до этого момента! К этому моменту вы должны получить базовое понимание и понимание использования FastAPI для создания серверного приложения. FastAPI — это исключительный, удобный и высокоэффективный инструмент разработки API. Он обеспечивает гибкость, свойственную микрофреймворку, и обеспечивает исключительную производительность, что делает его отличным выбором для ваших требований к разработке API.