PRO

Что такое @app.get(), @app.post()? Что такое endpoint?

@app.get() и @app.post() — декораторы FastAPI для регистрации обработчиков HTTP-запросов по конкретному пути и методу. Endpoint — это точка API: сочетание URL, HTTP-метода и функции, которая обрабатывает запрос.
Подробный ответ

Что делают декораторы

Декоратор @app.get() связывает Python-функцию с HTTP GET-запросом по указанному URL. Декоратор @app.post() делает то же самое для POST-запроса.

from fastapi import FastAPI

app = FastAPI()


@app.get('/articles')
def get_articles():
    return [{'id': 1, 'title': 'FastAPI basics'}]


@app.post('/articles')
def create_article():
    return {'status': 'created'}

Что такое endpoint

Endpoint, или endpoint API, — это доступная точка взаимодействия с сервером. Обычно его определяют URL-путь, HTTP-метод и обработчик. Например, GET /articles и POST /articles — это два разных endpoint, хотя путь у них одинаковый.

Когда используют HTTP-методы

  • GET — получить данные;

  • POST — создать объект или запустить действие;

  • PUT — полностью обновить объект;

  • PATCH — частично обновить объект;

  • DELETE — удалить объект.

Параметры пути

В пути можно объявлять параметры, а FastAPI передаст их в функцию и проверит тип.

@app.get('/articles/{article_id}')
def get_article(article_id: int):
    return {'id': article_id}

Как ответить на собеседовании

@app.get() и @app.post() регистрируют обработчики запросов для соответствующих HTTP-методов. Endpoint — это конкретная точка API, то есть путь, метод и функция-обработчик запроса.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге