Rest-API mittels Python & FastAPI

Hier ein etwas ungewöhnlicher Artikel für eine PHP-Website: Wie erstelle ich mittels Python eine REST-API?

 

Warum Python?

PHP ist eine super Sprache, auch für die Erstellung von REST-APIs. Der einfache Einstieg und das breite Angebot an Webhosting-Tarifen macht PHP gerade für Einsteiger eine sehr gute Programmiersprache.

Es gibt aber Bereiche, da besitzt PHP schwächen. Geht es beispielsweise im Machine Learning und die Nutzung intelligenter Systeme, wird man bei PHP lange suche bis man dort brauchbare Programmbibliotheken findet.

In diesem Bereich ist Python extrem stark: Der Großteil der Forschung und Entwicklung im Bereich Machine Learning / Künstliche Intelligenz passiert mit Python. So ist es verdammt einfach, fertigen Python-Code zu finden z.B. für die maschinelle Übersetzung, das Auswerten von Bildern, die Klassifizierung von Text, oder das Umwandeln von Sprache in Text. Auch im Bereich Bitcoin (siehe hier für Erfahrungen) ist Python stark aufgestellt.

Zum Glück ist Python schnell gelernt, und dank FastAPI lassen sich innerhalb weniger Minuten diese Modelle in eine nette REST API verpacken und anderweitig verwenden.

Python installieren

Zuerst muss Python installiert werden. Ich nutze dazu gerne Anaconda bzw. unter Linux Miniconda. Achtet bei der Installation darauf eine halbwegs aktuelle Python Version zu nehmen, mindestens Python 3.6.

FastAPI installieren

Als nächstes installieren wir FastAPI. Gebt dazu in die Kommandozeile folgendes ein:

Während wir bei PHP zumeist Apache oder Nginx als Webserver nutzen, nutzen wir mit Python Uvicorn. Dies könnt ihr so installieren:

Erste REST-API mittels FastAPI

Nun erstellen wir die main.py mit folgendem Inhalt:

Diese Anwendung hat zwei Pfade: Unter dem Hauptpfad (/) wird nur ein Array mit dem Inhalt "Hello" => "World" zurück gegeben. Unter der Route /namen/{id}, können wir die verschiedenen Namen im Array namen abrufen

Anwendung starten

Zum Schluss starten wir den Server mit unserer kleinen API. Gebt dazu in der Kommandozeile folgendes ein:

Im Anschluss könnt ihr im Browser die URL: http://localhost:8000/name/1
aufrufen und erhaltet als Rückgabewert {"name": "Lisa"}

Weitere Schritte

Dies war nur eine sehr kurze und knappe Einführung in Python und FastAPI. Wie gezeigt, hat man damit innerhalb weniger Zeilen eine Rest-API programmiert.

Für alle weiteren Infos empfehle ich die sehr gute FastAPI Dokumentation.

Autor:
Zurück zur Übersicht aller Beiträge