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

Инсталирайте 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