Однажды я работал с кодом, в котором мне нужно было извлечь данные JSON из Github и использовать их в приложении для реагирования. Но данные также содержали разные ключи, поэтому это было похоже на имя, а затем на дочерние данные, но я хотел какой-то другой формат. Я хотел иметь массив этих записей вместе. Итак, я решил написать API на питоне. Я не очень хорошо знаю python, но вспомнил одного из моих друзей, на все эти вопросы наш ответ — быстрое создание API на python с помощью нескольких строк, поэтому я попробовал.
Итак, что я использовал
Вот код с разными методами, которые я объясню заранее.
Итак, что здесь происходит
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 по умолчанию.
Объяснение методов
- Привет и 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://dehazelabs.com