Однажды я работал с кодом, в котором мне нужно было извлечь данные JSON из Github и использовать их в приложении для реагирования. Но данные также содержали разные ключи, поэтому это было похоже на имя, а затем на дочерние данные, но я хотел какой-то другой формат. Я хотел иметь массив этих записей вместе. Итак, я решил написать API на питоне. Я не очень хорошо знаю python, но вспомнил одного из моих друзей, на все эти вопросы наш ответ — быстрое создание API на python с помощью нескольких строк, поэтому я попробовал.

Итак, что я использовал

  1. Пакет Falcon PyPI
  2. запрашивает пакет Pypi
  3. Докер
  4. G единорог

Вот код с разными методами, которые я объясню заранее.

Итак, что здесь происходит

falcon, который мы импортировали для запуска сервера API, и request поможет нам получить данные из URL-адреса в формате json.

Приведенный ниже код создаст сервер API.

api = falcon.App()

и эти строки будут сопоставлять конечные точки API с конкретными методами

api.add_route('/greet', Hello())
api.add_route('/greet-json', HelloJSON())
api.add_route('/json-from-url', JSONfromURL())
api.add_route('/json-from-url-change', JSONfromURLChange())

Итак, Falcon — это легкий пакет, позволяющий создавать легкие, но мощные API, когда вам нужен быстрый доступ к данным без полноценного приложения.

Тестирование на местном уровне

Чтобы запустить API, нам нужно разместить скрипт Python, что мы можем сделать с помощью gunicorn.

Установить стрелок

apt install gunicorn
or
pip install gunicorn

Запустить скрипт

gunicorn main:api

здесь main — это имя файла main.py, а api — это определенная нами переменная сервера API.

Вы можете увидеть ниже вывод для того же

Вы можете открыть URL-адрес на порту 8000 по умолчанию.

Объяснение методов

  1. Привет и HelloJson

оба эти метода в основном предоставляют данные в виде строки и json. Это можно использовать, если нам нужно нормально передать какие-то данные или прочитать из локального файла и отправить его.

Я не добавлял код для чтения файла, но ниже вы можете увидеть, как добавить

with open("test.txt", encoding = 'utf-8') as f:
     
resp.media = f;

2. JsonFromUrl

Итак, в этом методе мы используем один поддельный API-интерфейс, который предоставляет нам список пользователей. Поэтому мы используем запрос для получения URL-адреса и отправки json обратно в качестве ответа от API.

Вы можете видеть на скриншоте

3. JsonFromUrlChange

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

Вы можете видеть, как изменился вывод сейчас

Итак, вот как мы можем создавать простые API-интерфейсы для отдыха и помечать различные методы с помощью Falcon и python.

Бонус

Итак, да, бонусная часть о том, как это докеризовать.

Мы только что создали папку со структурой вроде

- app
  - main.py
- Dockerfile

Итак, мы помещаем наш файл main.py в папку приложения, которая будет скопирована в докер.

затем мы устанавливаем необходимые пакеты и запускаем gunicorn с помощью CMD.

Примечание. Вместо этого вы также можете использовать файл requirements.txt.

Создание образа

sudo docker build . -t myfalconapi:latest

Запуск приложения в докере

sudo docker run --name falconapi --port 8000:8000 myfalconapi -d

Доступ таким же образом на localhost: 8000 или через домен, если вы используете caddy или Nginx.

Итак, это было пока. Спасибо за прочтение.

В настоящее время мы проводим опрос по инструменту, не стесняйтесь отвечать

https://yubpg57axrr.typeform.com/to/MNeVchim

Также не стесняйтесь посетить сайт нашей компании, чтобы узнать больше о доступных услугах.

https://dehazelabs.com