Python

REST API maken in Python

REST API maken in Python
REST of Representational State Transfer is een software-ontwikkelingsstijl die voornamelijk wordt gebruikt in API- of Application Programming Interface-ontwerp om interactieve en moderne webservices te bouwen. Het is ook bekend als RESTful webservice.

Python is een krachtige programmeertaal. Het heeft veel bibliotheken voor het bouwen van REST of RESTful API's. Een van de populaire bibliotheken voor het bouwen van web-apps en het schrijven van REST API's is: Kolf.

In dit artikel laat ik je zien hoe je REST API in Python kunt maken met Flask. Laten we beginnen.

Vereisten:

Je had moeten

Je zou artikelen en tutorials over al deze onderwerpen moeten kunnen vinden op LinuxHint.com

Ik zal Python 3 gebruiken op Debian 9 Stretch in dit artikel. Als je Python 2 gebruikt, zul je een klein beetje moeten aanpassen. Je zou het zelf moeten kunnen bedenken, want het is zo simpel als schrijven Python in plaats van python3 en Pip in plaats van pip3.

Virtuele omgeving instellen:

Simpel gezegd, een virtuele omgeving wordt gebruikt om de ene Python-app van de andere te isoleren. Het Python-pakket dat hiervoor werd gebruikt, is: virtueel.

U kunt eenvoudig installeren virtueel met behulp van PIP op uw computer met de volgende opdracht:

$ sudo -H pip3 installeer virtualenv

Maak nu een projectdirectory (laten we het noemen) brandstapel/) met het volgende commando:

$ mkdir pyrest

Maak nu een virtuele Python-omgeving op de brandstapel/ projectmap met het volgende commando:

$ virtualenv pyrest/

Navigeer nu naar de projectdirectory met het volgende commando:

$ cd-pyrest

Activeer vervolgens de virtuele Python-omgeving met de volgende opdracht:

$ bron bin/activeren

Voer ten slotte de volgende opdracht uit om de Flask Python-bibliotheek te installeren:

$ bin/pip3 installatiekolf

Je eerste flesscript schrijven:

In deze sectie zal ik een hallo wereld-programma schrijven in Python Flask.

Maak eerst een bestand Hallo.py in uw projectmap:

$ raak hallo aan.py

Voeg nu de volgende regels toe aan: Hallo.py bestand en sla het op.

In het volgende gedeelte laat ik je zien hoe je Flask-scripts uitvoert.

Uitvoeren van Flask-script:

Nu om te beginnen met de Hallo.py Flask-server, voer de volgende opdracht uit:

$ bin/python3 hallo.py

Zoals je kunt zien, is de server gestart op http://127.0.0.1:8080.

Nu hebt u toegang tot de Flask-server http://127.0.0.1:8080 vanuit de webbrowser of API-testsoftware zoals Postman. Ik ga CURL gebruiken.

$ krul http://127.0.0.1:8080

Zoals u kunt zien, wordt de juiste uitvoer op het scherm afgedrukt.

Proficiat! Kolf werkt.

Toegang tot gegevens met behulp van GET in REST API:

GET-verzoek op REST API wordt gebruikt om informatie op te halen van de API-server. U stelt enkele API-eindpunten in en doet een GET-verzoek op dat eindpunt. Het is makkelijk.

Maak eerst een nieuw bestand krijgen.py in uw projectdirectory met het volgende commando:

$ raak get . aan.py

Voeg nu de volgende regels toe aan je krijgen.py bestand en sla het op.

Hier, op lijn 1, de Kolf constructorfunctie en jsonify functie wordt geïmporteerd uit de kolfmodule.

Op lijn 3, a Kolf object is gemaakt en opgeslagen op app variabele.

Op regel 5 heb ik een Python-array met woordenboeken gemaakt met enkele dummy-gegevens en deze opgeslagen in de rekeningen variabele.

Op regel 10 heb ik het API-eindpunt gedefinieerd /accounts en de aanvraagmethode, namelijk: KRIJGEN.

Op regel 11 heb ik de functie gedefinieerd getAccounts(). getAccounts() functie wordt uitgevoerd wanneer een GET-verzoek om /accounts eindpunt is gemaakt.

Lijn 12, die deel uitmaakt van getAccounts() functie, ik heb de . omgezet rekeningen reeks woordenboeken naar JSON met behulp van jsonify() functie en retourneerde het.

Op lijn 14-15 belde ik de app.rennen() om Flask te vertellen dat de API-server op poort moet draaien 8080.

Voer nu de Flask API-server uit met de volgende opdracht:

$ bin/python3 get.py

De server is gestart op poort 8080.

Maak nu een GET-verzoek aan de /accounts eindpunt met CURL als volgt:

$ krul http://127.0.0.1:8080/rekeningen

Zoals u kunt zien, worden de accountgegevens weergegeven als JSON-indeling op GET-verzoek op /accounts eindpunt.

U kunt ook specifieke accountgegevens krijgen. Om dat te doen, ga ik een ander API-eindpunt maken /account/. Hier, zal de ID van de rekeninghouder zijn. De ID hier is de index van de array.

Bewerk de krijgen.py script en voeg de gemarkeerde regels eraan toe.

Hier, op regel 14, heb ik het API-eindpunt gedefinieerd /account/ en de te gebruiken methode, namelijk: KRIJGEN.

Op regel 15-17, de functie getAccount() voor het API-eindpunt /account/ is gedefinieerd. De getAccount() functie accepteert a ID kaart als argument. De waarde van van het API-eindpunt is ingesteld op de ID kaart variabele van getAccount() functie.

Op lijn 16, de ID kaart variabele wordt geconverteerd naar een geheel getal. Ik heb er ook 1 afgeleid uit de ID kaart variabele. Omdat de array-index begint bij 0. Ik wil de account-ID starten vanaf 1. Dus als ik 1 als account invul , 1 - 1 = 0, ik krijg het element op index 0 uit de array rekeningen.

Op regel 17, de array op index wordt geretourneerd als JSON.

De rest van de codes zijn hetzelfde.

Voer nu de API-server opnieuw uit.

$ bin/python3 get.py

Ik heb gegevens voor account 1 en 2 afzonderlijk aangevraagd en ik kreeg de verwachte output zoals je kunt zien in de onderstaande schermafbeelding.

$ krul http://127.0.0.1:8080/rekening/1
$ krul http://127.0.0.1:8080/rekening/2

Gegevens toevoegen met POST in REST API:

Nu ga ik hernoemen krijgen.py naar api.py en voeg een API-eindpunt toe /account voor het toevoegen van nieuwe gegevens.

Hernoemen krijgen.py naar api.py:

$ mv -v get.py api.py

Voeg eerst de regels (19-26) zoals aangegeven in de onderstaande schermafbeelding toe aan de api.py het dossier.

Voer nu de api.py server:

$ bin/python3 api.py

Nieuwe gegevens invoegen in de /account eindpunt, voer de volgende opdracht uit:

$ curl -X POST -H "Content-Type: application/json" -d '"name": "Shovon", "balance": 100'
http://127.0.0.1:8080/rekening

OPMERKING: Hier, '“naam”: “Shovon”, “saldo”: 100' zijn de JSON-invoergegevens.

De gegevens moeten worden ingevoegd.

Zoals je kunt zien, zijn de nieuwe gegevens toegevoegd.

Dus dat was het voor dit artikel.  Bedankt voor het lezen van dit artikel.

AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...
Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...