Python: Die REST API mit Flask implementieren
Diese Dokumentation ist Teil des Erstellung einer REST API-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Schritt-für-Schritt-Anleitung zum Aufbau einer REST API mit Flask in Python.
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Python Cloud-Lösung, die Ihren Deployment-Prozess vereinfacht:
- Deployen Sie Ihre Anwendung in die Produktion in Sekunden mit einem einfachen
git push.- Verwenden Sie Ihre eigene Domain, mit automatischer HTTPS-Zertifikatskonfiguration – sichere Verbindungen werden für Sie eingerichtet.
- Profitieren Sie von automatischen Backups, One-Click-Updates und planbaren Kosten, damit Sie sich auf Ihren Code konzentrieren können, nicht auf das Infrastrukturmanagement.
- Nutzen Sie starke Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur. Ihre Umgebung ist isoliert und geschützt.
Sparen Sie Zeit und vereinfachen Sie Ihren Workflow: Ihr Code läuft mit Stackheros Python Cloud Hosting in nur 5 Minuten.
Jetzt können Sie mit dem Schreiben Ihres API-Codes beginnen.
Erstellen Sie eine Datei namens app.py und fügen Sie folgenden Code ein:
import os
from dotenv import load_dotenv
from flask import Flask, jsonify, request
# Umgebungsvariablen aus .env für Nicht-Produktivumgebungen laden
if os.environ.get('ENV') != 'production':
load_dotenv()
app = Flask(__name__)
# Beispiel-Daten für Aufgaben
tasks = [
{
'id': 1,
'title': 'Buy groceries',
'description': 'Milk, Cheese, Pizza, Fruits',
'done': False
},
{
'id': 2,
'title': 'Learn Python',
'description': 'Learn Python programming basics',
'done': False
}
]
@app.route('/api/tasks', methods=['GET'])
def get_tasks():
return jsonify({'tasks': tasks})
@app.route('/api/tasks/<int:task_id>', methods=['GET'])
def get_task(task_id):
task = [task for task in tasks if task['id'] == task_id]
if not task:
return jsonify({'error': 'Task not found'}), 404
return jsonify({'task': task[0]})
@app.route('/api/tasks', methods=['POST'])
def create_task():
if not request.json or 'title' not in request.json:
return jsonify({'error': 'Title is required'}), 400
task = {
'id': tasks[-1]['id'] + 1,
'title': request.json['title'],
'description': request.json.get('description', ""),
'done': False
}
tasks.append(task)
return jsonify({'task': task}), 201
if __name__ == '__main__':
if os.environ.get('ENV') == 'production':
app.run()
else:
app.run(host='0.0.0.0', port=8080, debug=True)
Sie können den Server mit folgendem Befehl starten:
python app.py
Mit
host='0.0.0.0'ist Ihre API im Browser erreichbar, wenn Sie Code-Hero verwenden. Rufen Siehttp://<XXXXXX>.stackhero-network.com:8080/api/tasksauf und ersetzen Sie<XXXXXX>durch Ihre Code-Hero-Domain.