Как специалист по данным, я спрашиваю себя, чем я занимаюсь с REST API или зачем мне изучать эту концепцию? Подобные вещи часто встречаются среди веб-разработчиков, моя работа - просто создавать модели машинного обучения и делать выводы из данных, но со временем, когда я начал создавать модели, я начинаю беспокоиться о том, как развернуть мои модели машинного обучения, которые То есть запускать его в производство или позволять пользователям взаимодействовать с ним. Так началось мое путешествие к Django REST API.

Начиная

Для начала желательно изучить несколько основных понятий, таких как:

  • REST API
  • Запросы API
  • Рабочий процесс Django

REST API

Передача репрезентативного состояния (REST) - это просто стиль архитектуры программного обеспечения, который обеспечивает связь между компьютерными системами в Интернете, упрощая для систем взаимодействие друг с другом. в то время как интерфейс прикладного программирования (API) похож на программный посредник, который позволяет двум приложениям взаимодействовать друг с другом, это также набор процедур, протоколов и инструментов для создания программные приложения.

Предположим, вы пытаетесь найти информацию о машинном обучении в Википедии. Вы открываете Википедию, затем вводите «Машинное обучение» в поле поиска, нажимаете ввод и видите список статей о машинном обучении. REST API работает аналогичным образом. Вы что-то ищете и получаете список результатов (данных) от службы, из которой вы запрашиваете. Кроме того, другой экземпляр отправляет ваши данные в созданную вами модель машинного обучения, и эта модель дает вам прогноз (я) на основе переданных вами данных.

REST просто определяет, как выглядит API. Это набор правил, которым следуют разработчики при создании своего API. Одно из этих правил гласит, что вы должны иметь возможность получать фрагмент данных (называемый ресурсом), когда вы ссылаетесь на определенный URL-адрес.

Каждый URL-адрес называется запросом, а данные, отправленные вам (в основном в формате JSON), называются ответом.

Запросы API

Запрос API состоит из четырех (4) основных принципов, а именно:

  • Конечная точка
  • Метод
  • Заголовки
  • Данные

Конечная точка:

Конечные точки являются важными аспектами взаимодействия с серверными веб-API, поскольку они определяют, где находятся ресурсы, к которым может получить доступ стороннее программное обеспечение. Обычно доступ осуществляется через URI, по которому отправляются HTTP-запросы. Попросту говоря, это начальная точка API, из которого вы запрашиваете, например, конечная точка API Github - https://api.github.com, а конечная точка API Tiwa - https://api.tiwa.africa

Также у конечных точек есть нечто, называемое путем. Путь определяет ресурс или данные, которые вы запрашиваете. Возьмем к примеру

https://api.github.com/users

Здесь конечная точка: https://api.github.com

Пока путь: /users

Затем URL-адрес возвращает объект фиктивных пользователей JSON (JavaScript Object Notation) из Github API.

Метод:

Метод - это запрос, который вы отправляете на сервер. Вы можете выбирать из множества методов API, но пока мы сосредоточимся на следующих пяти типах:

  • ПОЛУЧАТЬ
  • ПОЧТА
  • ПОЛОЖИЛ
  • ПЛАСТЫРЬ
  • УДАЛЯТЬ

Чаще всего обычно используются методы GET и POST.

Эти методы предоставляют информацию для запроса, который вы делаете с сервера API. Они используются для выполнения четырех возможных действий: создания, чтения, обновления и удаления (CRUD).

Заголовки:

Заголовки REST содержат обширную информацию, которая может помочь вам отследить проблемы, когда вы с ними столкнетесь. Заголовки HTTP являются важной частью запроса и ответа API, поскольку они представляют метаданные, связанные с запросом и ответом API. Заголовки несут информацию для:

  1. Тело запроса и ответа
  2. Запросить авторизацию
  3. Кеширование ответов
  4. Ответные файлы cookie

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

Данные:

Вам всегда нужно отправлять данные (или иногда называемые «телом») на запрос API, чтобы получить ответ. Например, если мы создаем REST API для обновления сведений о студенте с помощью метода PUT, тогда URI запроса будет {endpoint}/students/{student_id}, а тело запроса будет:

{"id": student_id,"name": "student name","school_name": "Lagos State University"}

И когда это передается в API, база данных обновляется автоматически.

Тестирование API

Тестирование API - это тип тестирования программного обеспечения, который включает тестирование интерфейсов прикладного программирования (API) напрямую и как часть интеграционное тестирование, чтобы определить, соответствуют ли они ожиданиям в отношении функциональности, надежности, производительности и безопасности - Википедия

Как протестировать API?

Для тестирования API вы можете использовать:

  • CURL
  • ПОЧТАЛЬОН

Есть и другие многочисленные способы тестирования вашего API, но эти два являются наиболее распространенными.

РАБОЧИЙ ПОТОК DJANGO

Django - это веб-фреймворк на основе Python, который позволяет быстро и легко создавать стандартные веб-сайты, его бесплатный и открытый исходный код. Это в основном для «перфекционистов с дедлайнами». Django также дает возможность создавать собственные API.

Как это работает:

Django просто обрабатывает запрос и возвращает ответ веб-браузеру.

Чтобы получить базовые знания о Django, я настоятельно рекомендую вам прочитать эту статью.

Почему Джанго?

  • Django легко и быстро настраивается, вам практически не нужно писать код с нуля, чтобы начать создавать веб-сайты или API, Django сделает все это за вас.
  • С ним легко интегрировать ваши модели машинного обучения, потому что большинство моделей машинного обучения обычно написаны на Python, как и ваш проект Django, поэтому между двумя средами существует простой поток.

Кроме того, если Django вам не подходит, вы можете попробовать Flask (еще одна веб-платформа Python).

РЕЗЮМЕ

До сих пор мы видели преимущества API и насколько важно для специалистов по обработке данных узнать, как они могут создать его самостоятельно с помощью Django.

В моей следующей статье (часть 2) я покажу вам пошаговый процесс создания простого API, который развертывает модель машинного обучения с помощью Django REST Framework. Приятного чтения 😃.