„Python“

REST API kūrimas „Python“

REST API kūrimas „Python“
„REST“ arba „Reprezentacinės būsenos perkėlimas“ yra programinės įrangos kūrimo stilius, dažniausiai naudojamas API arba taikomųjų programų sąsajos projektuose, siekiant sukurti interaktyvias ir modernias žiniatinklio paslaugas. Tai taip pat žinoma kaip „RESTful“ interneto paslauga.

„Python“ yra galinga programavimo kalba. Jame yra daug bibliotekų, skirtų REST arba RESTful API kurti. Viena iš populiarių žiniatinklio programų kūrimo ir REST API rašymo bibliotekų yra Kolba.

Šiame straipsnyje aš jums parodysiu, kaip sukurti „REST“ API „Python“ naudojant kolbą. Pradėkime.

Reikalavimai:

Turėtum turėt

„LinuxHint“ turėtumėte sugebėti rasti straipsnių ir vadovėlių visomis šiomis temomis.com

Šiame straipsnyje naudosiu „Python 3“ „Debian 9 Stretch“. Jei naudojate „Python 2“, turėsite šiek tiek prisitaikyti. Turėtumėte sugebėti tai išsiaiškinti patys, nes tai bus paprasta, kaip rašyti pitonas vietoj pitonas3 ir pip vietoj pip3.

Virtualios aplinkos nustatymas:

Paprasčiau tariant, virtuali aplinka naudojama izoliuoti vieną „Python“ programą nuo kitos. Tam naudojamas „Python“ paketas virtualenv.

Galite lengvai įdiegti virtualenv naudojant PIP kompiuteryje su šia komanda:

$ sudo -H pip3 įdiekite virtualenv

Dabar sukurkite projekto katalogą (pavadinkime jį pirestas /) su tokia komanda:

$ mkdir pyrest

Dabar sukurkite virtualią „Python“ aplinką pirestas / projekto katalogas su šia komanda:

$ virtualenv pyrest /

Dabar eikite į projekto katalogą naudodami šią komandą:

$ cd pirestas

Tada suaktyvinkite virtualią „Python“ aplinką naudodami šią komandą:

$ source bin / aktyvuoti

Galiausiai paleiskite šią komandą, kad įdiegtumėte „Flask Python“ biblioteką:

$ bin / pip3 įdėklo kolba

Pirmo kolbos scenarijaus rašymas:

Šiame skyriuje aš parašysiu „Hello world“ programą „Python Flask“.

Pirmiausia sukurkite failą Sveiki.py savo projekto kataloge:

$ touch labas.py

Dabar pridėkite šias eilutes Sveiki.py failą ir išsaugokite jį.

Kitame skyriuje parodysiu, kaip paleisti „Flask“ scenarijus.

Veikiantis kolbos scenarijus:

Dabar pradėti Sveiki.py Kolbos serveris, vykdykite šią komandą:

Sveiki, $ bin / python3.py

Kaip matote, serveris pradėjo veikti http: // 127.0.0.1: 8080.

Dabar galite prisijungti prie kolbos serverio http: // 127.0.0.1: 8080 iš žiniatinklio naršyklės arba API testavimo programinės įrangos, tokios kaip „Postman“. Aš ketinu naudoti CURL.

$ garbanė http: // 127.0.0.1: 8080

Kaip matote, ekrane atspausdinama teisinga išvestis.

Sveikinimai! Kolba veikia.

Prieiga prie duomenų naudojant GET REST API:

GET užklausa dėl REST API naudojama norint gauti informaciją iš API serverio. Jūs nustatote keletą API galinių taškų ir atliekate GET užklausą tame galiniame taške. Tai paprasta.

Pirmiausia sukurkite naują failą gauti.py projekto kataloge naudodami šią komandą:

$ touch gauti.py

Dabar pridėkite šias eilutes savo gauti.py failą ir išsaugokite jį.

Čia, 1 eilutėje, Kolba konstruktoriaus funkcija ir jsonify funkcija importuojama iš kolbos modulio.

3 eilutėje a Kolba objektas yra sukurtas ir saugomas programa kintamasis.

5 eilutėje sukūriau Python masyvą kai kurių manekeno duomenų žodynų ir išsaugojau sąskaitos kintamasis.

10 eilutėje aš apibrėžiau API galinį tašką / sąskaitos ir prašymo metodas, kuris yra GAUTI.

11 eilutėje aš apibrėžiau funkciją „getAccounts“ (). „getAccounts“ () funkcija bus vykdoma, kai GET užklausą / sąskaitos padarytas galutinis taškas.

12 eilutė, kuri yra dalis „getAccounts“ () funkciją, aš konvertuoju sąskaitos žodynų masyvas JSON naudojant jsonify () funkciją ir ją grąžino.

14-15 eilutėje paskambinau programa.paleisti () liepti kolbai paleisti API serverį uoste 8080 m.

Dabar paleiskite „Flask API“ serverį naudodami šią komandą:

$ bin / python3 gauti.py

Serveris paleistas 8080 prievade.

Dabar pateikite GET užklausą / sąskaitos galutinis taškas su CURL taip:

$ garbanė http: // 127.0.0.1: 8080 / sąskaitos

Kaip matote, sąskaitų duomenys rodomi kaip JSON formatas GET užklausoje / sąskaitos galutinis taškas.

Taip pat galite gauti konkrečius sąskaitos duomenis. Norėdami tai padaryti, aš ketinu sukurti kitą API galinį tašką / account /. Čia, bus sąskaitos savininko tapatybės dokumentas. ID yra masyvo indeksas.

Redaguokite gauti.py scenarijų ir prie jo pridėkite pažymėtas eilutes.

Čia, 14 eilutėje, aš apibrėžiau API galinį tašką / account / ir taikytinas metodas, kuris yra GAUTI.

15-17 eilutėje funkcija getAccount () API galutiniam taškui / account / yra apibrėžtas. The getAccount () funkcija priima a id kaip argumentą. Vertė iš API galinio taško yra nustatytas į id kintamasis getAccount () funkcija.

16 eilutėje id kintamasis konvertuojamas į sveiką skaičių. Taip pat išvedžiau 1 id kintamasis. Mat masyvo indeksas prasideda nuo 0. Noriu pradėti paskyros ID nuo 1. Taigi, jei kaip sąskaitą įrašysiu 1 , 1 - 1 = 0, gausiu elementą 0 rodyklėje iš masyvo sąskaitos.

17 eilutėje masyvas prie indekso grąžinamas kaip JSON.

Likę kodai yra vienodi.

Dabar dar kartą paleiskite API serverį.

$ bin / python3 gauti.py

Aš paprašiau duomenų apie 1 ir 2 paskyras atskirai ir gavau laukiamą rezultatą, kaip matote iš žemiau pateikto ekrano.

$ garbanė http: // 127.0.0.1: 8080 / account / 1
$ garbanė http: // 127.0.0.1: 8080 / account / 2

Duomenų pridėjimas naudojant POST „REST“ API:

Dabar ketinu pervadinti gauti.py į api.py ir pridėkite API galinį tašką / paskyra naujų duomenų pridėjimui.

Pervardyti gauti.py į api.py:

$ mv -v gauti.py api.py

Pirmiausia pridėkite eilutes (19–26), kaip pažymėta žemiau esančiame ekrano kopija api.py failą.

Dabar paleiskite api.py serveris:

$ bin / python3 api.py

Norėdami įterpti naujus duomenis į / paskyra pabaigos tašką, vykdykite šią komandą:

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

PASTABA: Čia, „“ Pavadinimas “:„ Shovon “,„ balansas “: 100“ yra JSON įvesties duomenys.

Duomenys turėtų būti įterpti.

Kaip matote, nauji duomenys pridedami.

Taigi viskas šiam straipsniui.  Dėkojame, kad perskaitėte šį straipsnį.

Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...