RESTful Webservice mit Flask-RESTful

In diesem Tutorial beschreibe ich die Installation von Flask, genauer gesagt der Flask-RESTful API, mit der REST-APIs erstellt werden können.

Zunächst aber die Antwort auf die Frage: Was ist Flask-RESTful? Die Internetseite gibt dazu folgende Auskunft:

Flask-RESTful is an extension for Flask that adds support for quickly building REST APIs. It is a lightweight abstraction that works with your existing ORM/libraries. Flask-RESTful encourages best practices with minimal setup. If you are familiar with Flask, Flask-RESTful should be easy to pick up.

Die Installation habe ich auf einem Raspberry2 vorgenommen. Auf anderen Linux-Distributionen sollte es aber ähnlich funktionieren.

Für die Installation benötigt Ihr Python (Version 2.6–3.4), das auf Linux-Systemen bereits vorinstalliert ist. Zusätzlich sollten die Developer-Pakete vorhanden sein:

sudo apt-get install python-dev

Dann kann die Installation von Flask-RESTFul beginnen:

sudo pip install flask-restful

Um später einmal den Zugriff auf den REST-Webservice vor unbefugten Zugriff zu schützen, sollte auch flask-httpauth installiert werden:

sudo pip install flask-httpauth

Hinweis: Sollte pip auf Eurem Linux-System nicht vorhanden sein, kann es mit der Anweisung

sudo apt-get install python-pip

nachinstalliert werden.

Und damit kommen wir zur ersten selbst geschriebenen (Mini-)API (Beispiel von der Internetseite “Flask-RESTful Quickstart”):

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class HelloWorld(Resource):
def get(self):
    return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
app.run(debug=True)

Speichert die Datei unter einem Namen Eurer Wahl ab (hier: api.py) und gebt dann in der Shell

python api.py

ein. Auf dem selben Rechner könnt Ihr Euch dann die Antwort vom Server mit

curl http://127.0.0.1:5000/

ansehen.

Soll von einem anderen Computer auf diese Ressource zugegriffen werden, dann ändert die Zeile

app.run(debug=True)

zu

app.run(host="0.0.0.0",debug=True)

Mehr ist nicht zu tun. Werft einen Blick auf die umfangreiche Dokumentation zu Flask-RESTful und probiert selbst einige der dort gezeigten Beispiele aus.

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben.

Schließen