Пояснення FastAPI за 5 хвилин або менше

| | 0 Comments| 6:09 AM
Categories:

FastAPI, фреймворк Python, який дозволяє розробляти веб-API, був популярним протягом останніх кількох років.

API (Application Programming Interface) є основою сучасної архітектури. Вони дозволяють модульувати та роз’єднувати програми. Це дозволяє швидко створювати програми та полегшує їх обслуговування.

Тому, якщо ви плануєте використовувати Python для розробки веб-додатків, варто вивчити FastAPI. Ця стаття навчить вас усім основам FastAPI.

Що таке FastAPI?

FastAPI — це веб-фреймворк на основі Python. В останні роки це привернуло багато уваги. Його структура розробки схожа на Flask, який був найпопулярнішим вибором для тих, хто хотів вивчити веб-розробку Python.

FastAPI простий у використанні, а його документація зрозуміла та зрозуміла. FastAPI використовується такими технологічними гігантами, як Microsoft, Netflix і Uber.

FastAPI має всі функції, які ви очікуєте від конструктора API, але не обмежується ними. Ви можете використовувати його для монтування зворотного WSGI, про який більшість користувачів не знають.

Основною метою FastAPI є створення кінцевих точок API, як випливає з назви. Це можна зробити так само ефективно, як повернути дані словника Python у JSON або за допомогою інтерактивного інтерфейсу користувача Swagger OpenAPI.

FastAPI не обмежується API. Його можна використовувати майже для всього, що робить веб-фреймворк, від доставки веб-сторінок за допомогою механізму шаблонів Jinja2 до обслуговування додатків на основі WebSockets.

Нижче наведено переваги FastAPI:

  • FastAPI дозволяє перевірити тип даних розробника, навіть якщо використовуються вкладені запити JSON.
  • Він пропонує функцію автозаповнення, яка дозволяє створювати програми за коротший час і вимагає менше зусиль.
  • Він сумісний із словником OpenAPI та JSON Schema, що дозволяє перевіряти та коментувати документи JSON.
  • FastAPI дозволяє швидко створити GraphQL API за допомогою бібліотеки Python під назвою graphene–python.
  • FastAPI сумісний з OAuth 2.0, а також із зовнішніми постачальниками.

Нижче наведено недоліки FastAPI:

  • FastAPI все ще є новою платформою, тому спільноти з рекомендаціями мало. У ньому недостатньо зовнішньої освітньої інформації, такої як книги, курси чи навчальні посібники.
  • Оскільки ми повинні зв’язати всі компоненти разом у FastAPI, основний файл може стати дуже великим або переповненим.
  Вступ до Прометея і Графана

Унікальні особливості FastAPI

Ці унікальні функції роблять FastAPI найпопулярнішою веб-платформою Python на сьогодні.

  • Висока продуктивність: FastAPI є більш продуктивним, ніж інші фреймворки Python. Орієнтована на швидкість структура FastAPI робить його найкращим вибором. Усе зводиться до вищої швидкості та кращої продуктивності завдяки використанню функцій Starlette, створенню API та створенню готових кодів.
  • Швидке кодування: розробникам не потрібно створювати нічого нового з готовими кодами. Це прискорює процес приблизно на 200-30%. FastAPI працює на Starlette та має багато інших функцій, які можна використовувати для створення API для перевірки та серіалізації даних. Фреймворк уже містить усі необхідні компоненти, що скорочує час кодування.
  • Мінімум помилок: фреймворк має функцію автозавершення, яка автоматично вставляє більшу частину коду в фрагмент. Це мінімізує ймовірність помилок і покращує якість результату.
  • Легко зрозуміти: FastAPI не робить нічого, крім Modern Python. Це модифікована версія Python 3.6 і не містить нового синтаксису. Фреймворком може користуватися кожен, хто добре розуміє мову.
  • Мінімум зусиль: FastAPI автоматично створює документацію OpenAPI з мінімальними зусиллями розробника. Цю інформацію можна знайти в каталозі програми/doc. Документація містить детальну інформацію про кінцеві точки API, коди повернення, параметри відповіді та інші деталі.
  • Підтримка редактора: усі компоненти фреймворку розроблено з урахуванням автозавершення. Це просто, що дає розробникам можливість створити готовий код. Ви також можете перевірити код прямо у своєму браузері за допомогою інтерактивної документації.
  • Відкриті стандарти: веб-фреймворк Python FastAPI є величезною перевагою. Фреймворк сумісний з OpenAPI, раніше відомим як Swagger, який дозволяє створювати API.

Установка FastAPI

Ось прості кроки для встановлення FastAPI на Linux або Windows.

#1. Установка FastAPI на Linux

Встановіть Python 3 на Linux за допомогою команди нижче:

sudo apt install python3

Встановіть pip на Linux за допомогою команди нижче:

sudo apt install python3-pip

Далі встановіть FastAPI на Linux.

pip install fastapi

Вам також знадобиться сервер ASGI. Отже, встановіть uvicorn за допомогою pip.

pip install "uvicorn[standard]"

#2. Установка FastAPI на Windows

Встановіть Python 3 у Windows за допомогою магазину Microsoft. Це також встановить pip.

Далі встановіть FastAPI на Windows.

pip install fastapi

Нарешті, встановіть сервер ASGI uvicorn.

pip install "uvicorn[standard]"

Нове використання FastAPI

Ось деякі новітні способи використання FastAPI:

  Як перевірити, чи був ваш iPhone відремонтований

Автоматизовані документи

Необхідно мати документацію про типи та кінцеві точки API. Цю проблему можна вирішити за допомогою OpenAPI, Swagger UI та ReDoc. Вони автоматично упаковуються за допомогою FastAPI. Це дозволяє вам зосередитися на своєму коді, а не налаштовувати інструменти.

Набрав Python

FastAPI використовує оголошення типу Python 3.6 (завдяки Pydantic). Це означає, що він використовує функцію Python, яка дозволяє вказати тип і тип змінної. Цей фреймворк чудово використовує його, надаючи чудову підтримку редактора. Автозаповнення працює чудово.

Перевірка

Pydantic вже інтегрує перевірку в цю структуру. Можна виконати перевірку стандартних типів Python і перевірку спеціальних полів.

Безпека та автентифікація

Це важлива частина будь-якого API. Ми часто просто повторюємо код, то чому б не включити його частину в нашу структуру? FastAPI робить саме це.

Бібліотека підтримує HTTP Basic, маркери OAuth2 (токени JWT) і ключі API заголовків.

Асинхронний характер

FastAPI за замовчуванням підтримує асинхронні кінцеві точки, що робить ваш код простішим і ефективнішим. Це значна перевага перед Flask.

FastAPI проти Flask: ключові відмінності

Відмінності у використанні

Доступна повна платформа FastAPI, яка надає все необхідне для створення вашого API. Flask, з іншого боку, є мікрофреймворком і не пропонує всіх тих же функцій, що й FastAPI. Flask може бути корисним, якщо вам потрібно швидко прототипувати ідею або створити просту веб-програму.

Flask і FastAPI дуже відрізняються за способом використання. Фреймворк Flask можна використовувати для прототипування нових ідей і додатків, тоді як фреймворк FastAPI можна використовувати для створення API. Ви можете швидко створити внутрішній сервер, використовуючи його без будь-яких знань програмування.

Невеликі веб-сайти та веб-додатки

FastAPI простий у використанні, легкий і може використовуватися для невеликих веб-розробок і розробки програм. Він включає об’єктно-реляційний рівень (ORM), який обробляє об’єкти даних у програмі, тому ви можете швидко отримати до них доступ за допомогою кодування.

Рівень ORM відстежує ваші бази даних і дозволяє вам забути про їх ручне оновлення, коли нова інформація додається, змінюється або видаляється з веб-сайту чи програми.

  Як перенести вкладки Chrome між iPhone, iPad і Mac

WSGI проти ASGI

Можливо, ви помітили основну різницю: Flask використовує WSGI для свого стандартного інтерфейсу, тоді як FastAPI використовує ASGI. Як згадувалося раніше, WSGI обробляє запити синхронно. Заявки обробляються послідовно. Не можна починати, поки не буде виконано останнє завдання.

ASGI обробляє запити асинхронно. Це дозволяє виконувати завдання у власному темпі й не потребує очікування інших.

Спільнота

Ще одна відмінність – спільнота. Flask — це спільнота, яка існує довше, ніж FastAPI. Це означає чудову документацію та зовнішню допомогу від інших, хто пише про Flask.

FastAPI — це все ще новий проект, тому спільнота ще має розростатися. Це означає, що, хоча документації достатньо, сторонньої допомоги небагато.

Нижче наведено зведені таблиці для FastAPI та Flask:

Вбудована перевірка FastAPIFlaskData. Він не має перевірки даних. Доступна підтримка асинхронних завдань. Підтримка асинхронних завдань недоступна. Реалізує специфікації ASGI. Підтримує програми WSGI. Автоматична підтримка документів. Підтримка документів вручну. Повідомлення про помилку відображається у форматі JSON. Повідомлення про помилку відображається на сторінках HTML.

FastAPI чи Flask: що вибрати?

FastAPI та Flask можуть швидко налаштувати веб-сервери Python і програми для обробки даних. Обидва вимагають однакових зусиль для розгортання, але який фреймворк найкращий для вашого наступного проекту?

FastAPI — найкращий варіант, коли швидкість і продуктивність важливіші за все. Цей фреймворк найкращий, якщо ви створюєте CDN і очікуєте значного трафіку. FastAPI дозволяє завантажити фреймворк і негайно його використовувати. Шаблон проекту заощадить ваш час і допоможе заощадити час.

FastAPI є кращим варіантом, ніж Flask, коли ви створюєте API. Це особливо вірно, коли враховуються мікросервіси та інші міркування. Flask є найкращим вибором, якщо у вас уже є багато інструментів, побудованих навколо цього фреймворку.

Висновок

Отже, це все про FastAPI. FastAPI забезпечує чудову швидкість і продуктивність. Цей фреймворк найкращий, якщо ви будуєте свою мережу доставки вмісту та очікуєте трафіку. Інноваційна структура та шаблон проекту FastAPI допоможуть вам заощадити час.

Flask може бути кращим для створення API, зокрема мікросервісів. FastAPI також кращий за Flask. Flask є кращим вибором, якщо ви вже використовуєте його широко.

Ви також можете дослідити деякі популярні Python Frameworks для створення API.