⊗ppSpAiRs 52 of 83 menu

REST API PHP-s

On olemas spetsiaalsed lähenemised, mis standardiseerivad API-d üldiseks mugavuseks nii API arendajatele kui ka selle kasutajatele.

Üks selline lähenemine on REST API. Selle aluseks on idee, et CRUD operatsioonide jaoks on vaja kasutada erinevaid HTTP protokolli meetodeid.

Andmete saamiseks - GET meetod, andmete loomiseks - POST meetod, andmete muutmiseks - PUT meetod, andmete kustutamiseks - DELETE meetod.

Näitena vaatleme mõnd API-d, mis manipuleerib kasutajatega. Vaatame, kuidas URL-id erinevate tegevuste jaoks välja näevad.

Saame kõik kasutajad:

GET http://api.loc/users/

Saame ühe kasutaja tema id järgi:

GET http://api.loc/user/1/

Loome kasutaja:

POST http://api.loc/user/

Muudame kasutajat tema id järgi:

PUT http://api.loc/user/1/

Kustutame kasutaja tema id järgi:

DELETE http://api.loc/user/1/

Vaatame, kuidas REST API-d PHP-s rakendatakse. Siin on teatud probleem. Asi on selles, et nii PHP kui CURL toetavad ainult GET ja POST meetodeid:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // ainult GET ja POST ?>

Seetõttu tuleb REST API rakendamiseks kasutada võtmet. Selle olemus seisneb selles, et tegelikult edastatakse andmeid ainult GET ja POST meetoditega, kuid me imiteerime teiste meetodite tööd kohandatud HTTP päise abil. Nimetame selle näiteks HTTP-X-HTTP-METHOD.

Siis saame selle päise sisu saada järgmiselt:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; ?>

Nüüd saame kirjutada API rakenduse:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; switch ($method) { case 'GET': // ... break; case 'POST': // ... break; case 'PUT': // ... break; case 'DELETE': // ... break; } ?>

Rakendage e-poe kaupade REST API.

Testige rakendatud API tööd CURL teeki abil.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu