
Что такое REST API? Разработка RESTFul проекта на Python Flask
Вы знаете как работает REST API и в чем разница между RESTFul API? В ходе большой статьи мы на практике рассмотрим возможности этой технологии и узнаем принцип её работы.
Что такое REST API?
Чтобы нам было проще все понять рассмотрим небольшой пример. Предположим, что у нас есть некое полноценное веб приложение. Такое приложение или другими словами такой веб сайт состоит из двух частей:
- Клиентской стороны;
- Серверной части.
Всё что увидит пользователь и всё с чем он будет взаимодействовать – находится на клиентской стороне. Всё что касается базы данных, работы с куки и сессиями, настройкой сервера и так далее – находится на стороне сервера. Обычно для этих двух вещей используются противоположные технологии. К примеру, функционал клиентской стороны – Vue JS, а функционал серверной стороны – язык Питон. Конечно же, вместо Vue JS и Python можете подставить другие технологии и языки, что выполняют схожие действия.
Так вот, получается задачка. Каким образом соединить две абсолютно разные технологии, дабы они понимали друг друга? Здесь нам на помощь и приходит REST API.
Принцип обращения
С давних пор программисты стараются отделить две максимально смежные сферы:
Вы можете всё так настроить, что пользователь может напрямую ссылаться к серверу за счет протокола «http». Такой метод широко применяется, но также ему существует более хорошая альтернатива – REST API.
Именно она позволяет отделить обе составляющие. Таким образом, Back-end и Front-end разработчики никак не будут конфликтовать между собой.
Основные действия
При работе пользователя с базой данных ему приходится выполнять несколько базовых действий:
- создание записи;
- чтение записей;
- обновление записей;
- удаление.
Такие действия дополнительно называют сокращенно CRUD (Create, Read, Update, Delete).
Суть REST API заключается в том, чтобы вы с клиентской стороны обращались по определенным URL адресу к вашему проекту, а он в свою очередь выполнял нужное действие и возвращал объект с данными в формате JSON.
Пример использования
Представим что у нас есть некий сайт «itproger.com». Нам необходимо получить все статьи из базы данных. Мы можем послать прямой «http» запрос и намешать Front-end и Back-end воедино. Вместо такого подхода мы с вами делаем следующее:
- Создаем новый файл на сервере по адресу «http://itproger.com/api/articles»;
- В файле прописываем код на серверном языке: Python, Java, C#, PHP или на другом;
- В коде мы обращаемся к БД и выбираем все статьи из таблицы «articles»;
- Там же мы конвертируем результат в JSON формат и выводим на странице.
Теперь со стороны клиента мы можем обратиться по этому URL адресу и сразу при обращении мы получим все записи из БД. Получается, что Front-end и Back-end теперь максимально разделены. Все что их соединяет, так это один URL адрес.
Обратившись по адресу, мы получим JSON объект, а перебрать таковой объект будет просто при использовании любой Front-end технологии: будь-то обычный JavaScript или фреймворки по типу: Vue JS, React JS, Angular и прочие.
По схожему принципу реализуются и другие файлы и URL адреса. К примеру, для получения конкретной записи можно создать страницу «http://itproger.com/api/articles/1». Вместо единицы может идти любое число и это будет уникальный идентификатор записи, которую мы хотим получить.
Можно отсылать разные HTTP запросы. Если мы отсылаем запрос GET, то мы получаем все записи или одну запись (в зависимости от URL). Если отослать HTTP запрос POST, то мы будем помещать новую запись. Если PUT – обновление записи, а если DELETE – удаление записи.
Отличие между Rest и Restful
На самом деле эти два понятия являются одним и тем же. Если вы создаете проект и в нем реализовали только URL для выборки данных, то это REST приложение или его ещё называют REST like приложение.
Если вы реализуете все серверные функции через REST, то это будет законченным REST приложением или другими словами RestFul приложение.
Слово API в названии всегда будет, ведь оно означает обращение одного проекта к другому. При работе с REST у вас в любом случае происходит обращение со стороны Front-end на сторону Back-end.
Создание проекта
Поскольку вся разработка будет вестись на основе языка Python, то в первую очередь вам нужно зайти на его
В этой же программе создайте новый проект.
Написание кода
Детальный разбор REST API вы можете просмотреть на видео ниже. В видео уроке показан полный разбор технологии и её возможностей.
Видео урок:
Также вы можете скачать готовый проект по
Вы можете купить
Дополнительный курс
Несмотря на простоту реализации подобного приложения вам стоит обладать хотя бы минимальным уровнем знаний в сфере Python разработки. Технологий для веб разработки очень много и по началу легко запутаться в том, что необходимо изучать.
На нашем сайте также есть углубленный курс по
Больше интересных новостей



