3.1 Проектирование и реализация REST API (GET, POST, PUT, DELETE)
9 из 9 шагов пройдено
3 из 3 баллов  получено

GET-запросы

Начнем разработку приложения с метода GET — это метод для чтения данных с сайта. Например, для доступа к указанной странице. Он говорит серверу, что клиент хочет прочитать указанный документ.

Метод мы объявляем с помощью декоратора @app.get. Как мы уже знаем из прошлого шага, первым параметром(path) мы передаем параметры пути. Также мы можем передавать ему код состояния ответа(status_code), теги, описания и другие параметры. Далее по курсу мы будем работать с этими параметрами и рассмотрим их подробно.

Продолжим работу над CRUD приложением. На данный момент мы создали две функции для получения записей из нашего приложения:

@app.get("/")
async def get_all_messages() -> dict:
    pass


@app.get("/message/{message_id}")
async def get_message(message_id: str) -> str:
    pass

Первая функция выводит все записи из нашей БД (словаря), вторая функция выводит содержимое записи с получаемым ID из параметра пути. Допишем функции следующим образом:

@app.get("/")
async def get_all_messages() -> dict:
    return messages_db


@app.get("/message/{message_id}")
async def get_message(message_id: str) -> str:
    return messages_db[message_id]

Запустим приложение через команду  uvicorn crud:app --port 8000 --reload и проверим работу. Зайдем в документацию, и мы видим наши функции в виде HTTP методов запроса.

Выберем метод GET функции get_all_messages(), и нажмем кнопку "Try it out" и потом "Execute" чтобы отправить запрос.

Мы видим что функция get_all_messages(), возвращает все содержимое нашего словаря. Проверим работу функции get_message(), она ждет от нас ввода номера записи:

Введем message_id равное 0 и отправим запрос.

Мы получаем ответ с кодом 200 и содержимым нашей записи из словаря с ключом 0. Такой же результат мы можем получить и при переходе по адресу http://127.0.0.1:8000/message/0, мы получим содержимое записи с ключом равным 0.

Также мы можем выполнить запрос при переходе на главную страницу нашего приложения.

Мы видим код ответа 200, и метод запроса GET. В следующем шаге мы поговорим о методе POST и реализуем возможность добавлять записи.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Нет обсуждений. Начните первое.