Sobes.tech
Junior — Middle

Explain the principles and features of FastAPI for creating web APIs.

sobes.tech AI

Answer from AI

FastAPI is a modern web framework for Python, designed for rapid development of high-performance APIs.

Main principles and features of FastAPI:

  • Asynchronous support — supports async/await for request handling, which increases performance.
  • Automatic documentation generation — based on type annotations, automatically creates OpenAPI and Swagger UI.
  • Use of Python type annotations — for data validation and auto-documentation.
  • High performance — thanks to the use of Starlette and Pydantic.
  • Simplicity and conciseness of code — minimal template for creating APIs.

Example of a simple API with FastAPI:

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

This code creates an endpoint that accepts a path parameter and an optional query parameter, automatically validates them, and returns a JSON response.