Перейти к содержимому

FastAPI: Turn One SQL Query Into a Production API

The Production Engineer

0:00 / 0:00

FastAPI: Turn One SQL Query Into a Production API

132 просмотра · 12 дн. назад
The Production Engineer
39 подписчиков
132 просмотра · 12 дн. назад
Learn how to turn a SQL query into a production REST API with FastAPI and PostgreSQL. We design the API step by step from one real product search query. Most API tutorials start with code. Here we start with the SQL query and read it line by line, because the query already tells you what your API needs: query parameters, input validation, safe SQL with parameterized queries, sorting, pagination limits, response models and the right Postgres index. What you will learn: How to convert SQL hard-coded values into API query parameters Input validation in FastAPI with Query() and 422 errors Building a dynamic WHERE clause safely and preventing SQL injection with %s (psycopg) Why ORDER BY %s does not sort, and how to allow-list sort options Pydantic response models, so your API does not depend on your table columns LIMIT and pagination: 14.6 MB vs 2.5 KB response size PostgreSQL index for ORDER BY + LIMIT: 228 ms to 3.7 ms on 1 million rows Trigram (pg_trgm) index for ILIKE search FastAPI project structure: router, service, repository and Depends with an async connection pool Chapters: 0:00 SQL query to API: the starting query 0:50 API query parameters vs business rules 2:29 FastAPI input validation and 422 errors 4:17 Dynamic WHERE clause and SQL injection 5:47 ORDER BY in an API: allow-list sorting 6:56 Pydantic response model and LIMIT 7:52 PostgreSQL index: 228 ms to 3.7 ms 9:07 FastAPI project structure: router, service, repository 10:22 Running the FastAPI API 10:40 Recap: how to design an API from a SQL query #FastAPI #PostgreSQL #APIDesign #sql #python #api