Python - мощный язык программирования. Он имеет множество библиотек для создания REST или RESTful API. Одна из популярных библиотек для создания веб-приложений и написания REST API - это Колба.
В этой статье я покажу вам, как создать REST API в Python с помощью Flask. Давайте начнем.
Требования:
У вас должно быть
- Python 2 или Python 3 установлен на вашем компьютере.
- PIP или PIP3 установлен на вашем компьютере.
- Базовое понимание языка программирования Python.
- Базовое понимание выполнения команд в оболочке.
Вы сможете найти статьи и руководства по всем этим темам на LinuxHint.ком
В этой статье я буду использовать Python 3 на Debian 9 Stretch. Если вы используете Python 2, вам придется немного настроить. Вы должны суметь понять это сами, так как это будет просто, как написать питон вместо python3 а также пип вместо pip3.
Настройка виртуальной среды:
Проще говоря, виртуальная среда используется для изоляции одного приложения Python от другого. Для этого использовался пакет Python: virtualenv.
Вы можете легко установить virtualenv используя PIP на вашем компьютере с помощью следующей команды:
$ sudo -H pip3 установить virtualenvТеперь создайте каталог проекта (назовем его костер /) с помощью следующей команды:
$ mkdir pyrestТеперь создайте виртуальную среду Python на костер / каталог проекта с помощью следующей команды:
$ virtualenv pyrest /Теперь перейдите в каталог проекта с помощью следующей команды:
$ cd pyrestЗатем активируйте виртуальную среду Python с помощью следующей команды:
$ исходный бункер / активироватьНаконец, выполните следующую команду, чтобы установить библиотеку Flask Python:
$ bin / pip3 установить колбуНаписание вашего первого скрипта Flask:
В этом разделе я напишу программу hello world на Python Flask.
Сначала создайте файл Привет.ру в каталоге вашего проекта:
$ touch привет.руТеперь добавьте следующие строки в Привет.ру файл и сохраните его.
В следующем разделе я покажу вам, как запускать скрипты Flask.
Запуск скрипта Flask:
Теперь приступим к Привет.ру Сервер Flask, выполните следующую команду:
$ bin / python3 привет.руКак видите, сервер запустился на http: // 127.0.0.1: 8080.
Теперь вы можете получить доступ к серверу Flask http: // 127.0.0.1: 8080 из веб-браузера или программ тестирования API, таких как Postman. Я собираюсь использовать CURL.
$ curl http: // 127.0.0.1: 8080Как видите, на экране печатается правильный результат.
поздравляю! Flask работает.
Доступ к данным с помощью GET в REST API:
Запрос GET на REST API используется для получения информации с сервера API. Вы устанавливаете некоторые конечные точки API и выполняете запрос GET на этой конечной точке. Это просто.
Сначала создайте новый файл получать.ру в каталоге вашего проекта с помощью следующей команды:
$ touch получить.руТеперь добавьте следующие строки в свой получать.ру файл и сохраните его.
Здесь, в строке 1, Колба функция-конструктор и jsonify функция импортируется из модуля flask.
В строке 3 Колба объект создается и хранится на приложение Переменная.
В строке 5 я создал массив словарей Python с фиктивными данными и сохранил его в учетные записи Переменная.
В строке 10 я определил конечную точку API /учетные записи и метод запроса, который ПОЛУЧАТЬ.
В строке 11 я определил функцию getAccounts (). getAccounts () функция будет выполняться, когда запрос GET на /учетные записи конечная точка сделана.
Строка 12, входящая в состав getAccounts () функцию, я преобразовал учетные записи массив словарей в JSON с использованием jsonify () функция и вернул ее.
На строках 14-15 я позвонил в приложение.запустить() чтобы сообщить Flask запустить сервер API на порту 8080.
Теперь запустите сервер API Flask с помощью следующей команды:
$ bin / python3 получить.руСервер запущен на порту 8080.
Теперь сделайте запрос GET к /учетные записи конечная точка с CURL следующим образом:
$ curl http: // 127.0.0.1: 8080 / счетовКак видите, данные учетных записей отображаются в формате JSON в запросе GET на /учетные записи конечная точка.
Вы также можете получить определенные данные учетной записи. Для этого я собираюсь создать еще одну конечную точку API /учетная запись/
Отредактируйте получать.ру скрипт и добавьте к нему отмеченные строки.
Здесь, в строке 14, я определил конечную точку API /учетная запись/
В строке 15-17 функция getAccount () для конечной точки API /учетная запись/
В строке 16 я бы переменная преобразуется в целое число. Я также вывел 1 из я бы Переменная. Поскольку индекс массива начинается с 0. Я хочу начать с идентификатора аккаунта с 1. Итак, если я поставлю 1 в качестве учетной записи
В строке 17 массив с индексом
В остальном коды такие же.
Теперь снова запустите сервер API.
$ bin / python3 получить.ру
Я запросил данные для учетной записи 1 и 2 отдельно, и я получил ожидаемый результат, как вы можете видеть на скриншоте ниже.
$ curl http: // 127.0.0.1: 8080 / счет / 1$ curl http: // 127.0.0.1: 8080 / счет / 2
Добавление данных с помощью POST в REST API:
Сейчас я переименую получать.ру к api.ру и добавить конечную точку API /учетная запись для добавления новых данных.
Переименовать получать.ру к api.ру:
$ mv -v получить.py api.руСначала добавьте строки (19-26), как отмечено на скриншоте ниже, к api.ру файл.
Теперь запустите api.ру сервер:
$ bin / python3 api.ру
Чтобы вставить новые данные в /учетная запись конечная точка, выполните следующую команду:
$ curl -X POST -H "Content-Type: application / json" -d '"name": "Shovon", "balance": 100'http: // 127.0.0.1: 8080 / счет
ПРИМЕЧАНИЕ: Здесь, '«Имя»: «Шовон», «баланс»: 100' входные данные JSON.
Данные должны быть вставлены.
Как видите, добавлены новые данные.
Итак, это все для этой статьи. Спасибо, что прочитали эту статью.