Varför FastAPI?

Introduktion till FastAPI

Matt Eckerle

Software and Data Engineering Leader

Vad är FastAPI?

Låt oss börja med terminologin

  1. API: Application Programming Interface – webbapplikationer som använder HTTP för att överföra strukturerad data
  2. Webbapplikation: en applikation som levererar trafik via webben
  3. Webbramverk: ett programvaruramverk för att bygga webbapplikationer

FastAPI är ett snabbt sätt att bygga högpresterande API:er med Python

Introduktion till FastAPI

FastAPI:s viktigaste funktioner

  • Snabbt: Mycket hög prestanda
  • "Low code" och enkelt att lära sig: Python-annotationer och typledtrådar
  • Robust: Produktionsklar kod med autodoc
  • Standardbaserat: Baserat på OpenAPI och JSON Schema

FastAPI-logotyp

OpenAPI-logotyp

JSON-logotyp

1 https://fastapi.tiangolo.com/
Introduktion till FastAPI

FastAPI vs. andra Python-webbramverk

Flask

  • Bygg webbaserade (GUI) appar
  • ORM valfritt

FastAPI

  • Bygg API:er
  • ORM valfritt

Django

  • Bygg webbaserade (GUI) appar
  • ORM inbyggt

Viktiga skillnader

  • För API:er utan databasoperationer
  • Data- och maskininlärningstransaktioner
Introduktion till FastAPI

Bygga vår första webbapplikation med FastAPI

1. Installera FastAPI

pip install fastapi

2. Skapa din app i main.py

from fastapi import FastAPI

app = FastAPI()

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

3. Starta servern

fastapi dev main.py

REPL som visar FastAPI igång

Introduktion till FastAPI

Innan vi övar med FastAPI

Några noter

  1. Det går inte att köra FastAPI-servern med knappen "Kör den här koden"
  2. Definiera serverkoden i Python-editorn som main.py istället

  3. Kör den från terminalen med kommandot fastapi dev main.py

  4. Kontrollera att loggarna i terminalen visar Application startup complete.
  5. Stoppa servern genom att trycka Control + C i samma terminal
  6. Installera FastAPI i en egen Python-miljö för att öva lokalt
Introduktion till FastAPI

Låt oss öva!

Introduktion till FastAPI

Preparing Video For Download...