HTTP API frameworks
Map each method and path to a function, and turn its typed parameters and return value into validated requests, JSON responses and an OpenAPI document.
How they work
An HTTP API framework exposes many endpoints, one per resource and verb, such as GET /orders/{id} and POST /orders. The newer ones read each handler’s declared parameter types. FastAPI takes path, query, header and body parameters from Python type hints and Pydantic models; ASP.NET Core minimal APIs bind route values, query strings, headers, JSON bodies and form values to typed parameters. From the same declarations they validate input, serialize output and, in FastAPI’s case, describe every endpoint in OpenAPI for Swagger UI, ReDoc and client generators.
Older designs keep these jobs apart. Flask is a microframework that leaves validation and documentation to plug-ins. Django REST Framework, built on Django, was one of the first to generate API documentation automatically. Falcon hands each function a request and a response object, so nothing can be declared in the signature. In TypeScript, NestJS repeats types in decorators because the types are gone after compilation. Starlette sits lower still: routing, requests and responses, with validation left to you.
Pick an HTTP API framework for resource-shaped APIs, file uploads, webhooks and anything where each URL should mean one thing. Most can also host a GraphQL endpoint as one more route.
Technologies
What all api frameworks have in common → Starlette | Open source | Marcelo Trylesinski and contributors (created by Kim Christie) | BSD 3-Clause | 2026-10-09 |
