Inleiding
In deze handleiding leer je hoe je een eenvoudige REST API kunt maken met behulp van Flask, een lichtgewicht Python web framework. We zullen de basis delen over het opzetten van een Flask-toepassing, het definiëren van routes, het afhandelen van verzoeken en het teruggeven van JSON-responses. Na het voltooien van deze handleiding zult u een werkende API hebben die u kunt verder ontwikkelen en integreren met andere toepassingen.
Vereisten
-
Een server die Ubuntu draait en een niet-rootgebruiker met sudo-rechten en een actieve brandmuur. Voor instructies over hoe u dit kunt instellen, kies uw distributie van deze lijst en volg onze handleiding voor de initiale serverinstellingen. Zorg ervoor dat u met een ondersteunde versie van Ubuntu werkt.
-
Vertrouwdheid met de Linux-opdrachtprompt. Voor een introductie of herinnering aan de opdrachtprompt kun je deze gids bezoeken over Linux command line primer
-
Een basiskennis van Python-programmeren.
-
Python 3.7 of nieuwer geïnstalleerd op je Ubuntu-systeem. Om te leren hoe je een Python-script op Ubuntu uitvoert, kun je onze handleiding raadplegen over Hoe je een Python-script op Ubuntu uitvoert.
Stap 1 — Uw Flask-omgeving instellen
Ubuntu 24.04 bevat Python 3 standaard. Open het terminal en voer het volgende commando uit om de installatie van Python 3 twee keer te controleren:
Als Python 3 reeds geïnstalleerd is op uw machine, zal het bovenstaande commando de huidige versie van de Python 3-installatie teruggeven. In het geval dat het niet geïnstalleerd is, kunt u het volgende commando uitvoeren om de Python 3-installatie te krijgen:
Vervolgens moet u de pakketinstallerer pip
op uw systeem installeren:
Nadat pip
is geïnstalleerd, kunnen we Flask installeren.
U zal Flask via pip
installeren. Het is aanbevolen om dit in een virtuele omgeving te doen om conflicten te vermijden met andere pakketten op uw systeem.
Stap 2 – Maak een Flask-toepassing
De volgende stap is het schrijven van de Python-code voor de Flask-toepassing. Om een nieuw script te maken, navigeer naar uw keuze directory:
Als u binnen de map bent, maak een nieuw Python-bestand, app.py,
en importeer Flask. Vervolgens initialiseer u een Flask-toepassing en maak een basisroute.
Dit zal een lege tekstbewerker openen. Schrijf uw logica hier of kopieer het volgende code:
Stap 4 — Creëer RESTful routes
In dit gedeelte zullen we routes in onze Flask-toepassing definiëren die overeenkomen met de verschillende acties die een gebruiker kan uitvoeren op de API. Elke route zal een specifieke HTTP-methode afhandelen.
GET
, POST
, PUT
, en DELETE
. Deze methoden zijn gelijk aan de vier basisoperaties van persistentieberging—vaak aangeduid als CRUD (Create, Read, Update, Delete).
Voeg de volgende routes toe aan uw app.py
python script:
Laten we meer kennen wat elke functie doet:
-
Flask Imports: Het code importeert nodige componenten van Flask:
Flask
,jsonify
, enrequest
. -
In-Memory Data Store:
items
is een eenvoudige lijst van dictionaries die als tijdelijke datastore voor de API fungeert. Elk item heeft eenid
en eenname
. -
GET
/api/items
: Wanneer een
GET
-verzoek wordt gedaan naar/api/items
, stuurt de server een lijst terug met alle items uit de items gegevensbank. Dit is handig voor het ophalen van alle bronnen in een verzameling. -
POST
/api/items
: Een POST-verzoek naar/api/items
laat de cliënt een nieuw item aanmaken. De server verwacht een JSON-object dat de details van het nieuwe item bevat in het verzoeksobject. Na het aanmaken van het item reageert de server met het nieuw aangemaakte item en een201 Created
-statuscode. -
PUT
/api/items/<int:item_id>
: EenPUT
-verzoek naar/api/items/<item_id>
wordt gebruikt om een bestaand item met de gespecificeerdeitem_id
bij te werken. De cliënt stuurt de bijgewerkte gegevens in het verzoeksobject, en de server wijzigt het bestaande item. Als het item niet wordt gevonden, reageert de server met een404 Not Found
-foutmelding. -
DELETE
/api/items/<int:item_id>
: EenDELETE
-verzoek naar/api/items/<item_id>
verwijdert het item met de opgegevenitem_id
uit de gegevensbank. Als de verwijdering gelukt is, reageert de server met een204 No Content
-statuscode, die aangeeft dat de verwijdering succesvol was en dat er geen extra inhoud meer terug te geven is. -
Toepassen van de applicatie: Het blok
if __name__ == "__main__":
zorgt ervoor dat de Flask-applicatie wordt uitgevoerd wanneer het script direct wordt uitgevoerd.
Stap 4 — Uw API starten en testen
Start uw Flask-server met behulp van het volgende commando:
U zou kunnen merken dat de Flask-server wordt uitgevoerd met de volgende uitvoer:
U kunt uit de bovengenoemde uitvoer zien dat de server wordt uitgevoerd op http://127.0.0.1
en luistert op poort 5000
.
Nu kunt u de endpoints testen met behulp van curl
, Postman of een andere HTTP-client. In deze handleiding zal u curl
gebruiken om de endpoints te testen en HTTP-verzoeken te sturen.
Open een andere Ubuntu-console en voer de volgende curl
-commando’s één voor één uit:
- GET:
curl http://127.0.0.1:5000/api/items
- POST:
curl -X POST -H "Content-Type: application/json" -d '{"name": "This is item 3"}' http://127.0.0.1:5000/api/items
- PUT:
curl -X PUT -H "Content-Type: application/json" -d '{"name": "This is updated item 1"}' http://127.0.0.1:5000/api/items/1
- DELETE:
curl -X DELETE http://127.0.0.1:5000/api/items/1
Laat ons de actie van elk van deze commando’s zien:
U zult merken dat de server een lijst teruggeeft van alle items in de items gegevensbank.
Gebruikmakend van de POST
methode, laten we een nieuw item toevoegen aan de gegevensbank.
Note: Op uw andere console waar uw Flask server actief is, zult u zien dat alle HTTP-verzoeken worden uitgevoerd en hun reactiecodes ook.
Dit is een goed middel om te monitoren, fouten te debuggen en problemen op te lossen met de server.
Volgensga, laat ons een PUT
verzoek uitvoeren. Een PUT
verzoek naar /api/items/<item_id>
zal een bestaand item met de gespecificeerde item_id
bijwerken.
Nu, laat ons een GET
verzoek uitvoeren om het bijgewerkte item 1 te zien.
Uiteindelijk, laat ons een DELETE
verzoek uitvoeren om een item uit de gegevensbank te verwijderen.
Dit zal item 1 uit de gegevensbank verwijderen.
Om dit te verifiëren, laat ons een GET
verzoek uitvoeren.
U zult zien dat item 1 niet meer aanwezig is en permanent is verwijderd.
Conclusie
In deze handleiding heb je een basis REST API-app gerealiseerd met Flask. U kunt nu deze API uitbreiden met extra routes, integreren met een database of op een cloudplatform zoals DigitalOcean deployen. Flask is een krachtige tool voor het snel en efficiënt bouwen van API’s, en met deze basis kunt u beginnen met het bouwen van complexere toepassingen.
Source:
https://www.digitalocean.com/community/tutorials/create-a-rest-api-using-flask-on-ubuntu