Един ден работех с код, където трябваше да изтегля JSON данни от Github и да ги използвам в приложение за реакция. Но данните също съдържаха различни ключове, така че беше като име, след това дъщерни данни, но исках различен формат. Исках да имам масив от тези записи заедно. И така, реших да напиша API на python. Не познавам 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.
Инсталирайте 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