Хабы: Блог компании Издательский дом «Питер», API, Python, Серверная оптимизация
Если вы сейчас разрабатываете новое приложение на Python, высока вероятность, что при этом вы используете FastAPI. В FastAPI заложено множество отличных возможностей, благодаря которым с ним легко начинать работу. Но в FastAPI есть и немало нюансов, на понимание которых требуется время. Мне пришлось особенно попотеть с одним аспектом, а именно — как FastAPI управляет вызовами к маршрутам API
через декорированные параметры пути. Давайте подробно об этом поговорим.
Что происходит на веб-сервере
Одним из важнейших компонентов любого веб-приложения (которое мы создаём) является
веб-сервер, программа, слушающая входящие запросы, поступающие из сети. Затем она транслирует эти запросы в методы, которые, в свою очередь, вызываются на бэкенде.
Чтобы лучше понимать, что здесь происходит под капотом, давайте сначала реализуем простой веб-сервер. Для этого воспользуемся модулем
http.server
,
который входит в стандартную библиотеку Python.
Нам требуется написать программу, которая слушает порт и принимает HTTP-запросы. А именно: принимает запрос, разбирает маршрут пути, а также разбирает любые данные, прикреплённые к HTTP-вызову. См. также “
All I want is to cURL and parse a JSON object”.
Читать дальше →