Tworzenie interfejsu API (Application Programming Interface) w Pythonie może wydawać się skomplikowane, ale dzięki frameworkowi Flask stanie się to prostsze i bardziej przyjemne. Flask to mikroframework, który pozwala na szybkie budowanie aplikacji webowych. W tym artykule przeprowadzimy krok po kroku przez proces tworzenia prostego API z użyciem Flask.
1. Wymagania wstępne
Zanim zaczniemy, upewnij się, że masz zainstalowanego Pythona (najlepiej wersję 3.6 lub wyższą) oraz menedżera pakietów pip
. Możesz sprawdzić, czy wszystko jest zainstalowane, używając poniższych poleceń w terminalu:
python --versionpip --version
Jeśli nie masz jeszcze zainstalowanego Flaska, możesz to zrobić za pomocą pip:
pip install Flask
2. Tworzenie struktury projektu
Zacznijmy od stworzenia folderu, w którym będziemy przechowywać nasz projekt. Możesz go nazwać my_flask_api
. Wewnątrz folderu utwórz plik o nazwie app.py
.
my_flask_api/
└─── app.py
3. Tworzenie podstawowego API
Otwórz plik app.py
w swoim edytorze i dodaj poniższy kod:
from flask import Flask, jsonify, request
app = Flask(__name__)
# Przykładowe dane (można to zrealizować z bazą danych)
tasks = [
{'id': 1, 'title': 'Zadanie 1', 'done': False},
{'id': 2, 'title': 'Zadanie 2', 'done': False}
]
# Endpoint do pobierania wszystkich zadań
@app.route('/tasks', methods=['GET'])
def get_tasks():
return jsonify(tasks)
# Endpoint do dodawania nowego zadania
@app.route('/tasks', methods=['POST'])
def add_task():
if not request.json or 'title' not in request.json:
return jsonify({'error': 'Bad Request'}), 400
new_task = {
'id': tasks[-1]['id'] + 1,
'title': request.json['title'],
'done': False
}
tasks.append(new_task)
return jsonify(new_task), 201
# Uruchomienie aplikacji
if __name__ == '__main__':
app.run(debug=True)
Wyjaśnienie kodu:
- Importujemy niezbędne moduły z Flaska.
- Tworzymy instancję aplikacji Flask.
- Definiujemy przykładowe dane w postaci listy słowników.
- Tworzymy dwa endpointy:
GET /tasks
: Zwraca listę wszystkich zadań w formacie JSON.POST /tasks
: Dodaje nowe zadanie na podstawie danych dostarczonych w żądaniu.
4. Uruchamianie aplikacji
Aby uruchomić naszą aplikację, wejdź do terminala i przejdź do folderu projektu. Następnie uruchom polecenie:
python app.py
Domyślnie aplikacja będzie dostępna pod adresem http://127.0.0.1:5000
.
5. Testowanie API
Możesz przetestować swoje API za pomocą narzędzi takich jak Postman lub cURL. Oto kilka przykładów.
Pobieranie zadań
Aby pobrać wszystkie zadania, użyj cURL:
curl http://127.0.0.1:5000/tasks
Otrzymasz odpowiedź w formacie JSON:
[ { "id": 1, "title": "Zadanie 1", "done": false }, { "id": 2, "title": "Zadanie 2", "done": false }]
Dodawanie zadania
Aby dodać nowe zadanie, użyj następującego polecenia cURL:
curl -X POST -H "Content-Type: application/json" -d '{"title": "Zadanie 3"}' http://127.0.0.1:5000/tasks
Otrzymasz odpowiedź z nowo utworzonym zadaniem:
{ "id": 3, "title": "Zadanie 3", "done": false}
6. Rozbudowa API
Możesz dalej rozwijać swoje API, dodając nowe funkcjonalności, takie jak:
- Aktualizacja zadań (PUT)
- Usuwanie zadań (DELETE)
- Integracja z bazą danych (np. SQLite, PostgreSQL)
Podsumowanie
W tym artykule pokazaliśmy, jak stworzyć swoje pierwsze API w Pythonie przy użyciu Flask. Tworzenie API to świetny sposób na rozwijanie umiejętności programistycznych i tworzenie aplikacji, które mogą być używane przez innych. Zachęcamy do eksperymentowania i dodawania nowych funkcji do swojego API!