Справочник · модуль 15 «Веб-приложение на FastAPI»
JSON-ответ сервиса
Функция маршрута возвращает словарь или список. FastAPI сам превращает его в JSON и отправляет клиенту. Клиенту уходит только то, что вернул return.
Сравнение из жизни
Как переводчик, который сам оформляет письмо.
Пример
$ uvicorn main:app --reload
INFO: Will watch for changes in these directories: ['/home/bit/api']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [28720] using StatReload
INFO: Started server process [28722]
INFO: Waiting for application startup.
INFO: Application startup complete.
$ curl http://127.0.0.1:8000/hello
{"message":"Привет!"}
INFO: 127.0.0.1:41010 - "GET /hello HTTP/1.1" 200 OKУчитель в уроке Теперь сервис нужно включить. Для этого есть программа uvicorn. После неё пишем имя файла без точки и двоеточие, а потом имя приложения. Сервис включился и ждёт запросов. Слово reload значит: перезапускай сервис, когда я меняю файл. В настоящем терминале сервис занимает окно, поэтому curl набирают во втором. У нас всё в одном.
Коротко: из чего состоит сервис
- app = FastAPI() — само приложение
- @app.get("/адрес") — маршрут над функцией
- return со словарём — ответ клиенту
- uvicorn main:app — включить сервис
Запомнить
Ответ сервиса — как посылка. Функция кладёт в неё словарь, а FastAPI упаковывает его в JSON и отправляет.
Тема из урока 15.1 «Первый сервис» курса PythonAZ.