⊗ppSpAiRs 52 of 83 menu

REST API u PHP-u

Postoje posebni pristupi koji standardizuju API za opštu pogodnost kako programera API-ja, tako i njegovih korisnika.

Jedan od takvih pristupa je REST API. U njegovoj osnovi leži ideja da se za CRUD operacije koriste različite metode HTTP protokola.

Za preuzimanje podataka - metoda GET, za kreiranje podataka - metoda POST, za izmenu podataka - metoda PUT, za brisanje podataka - metoda DELETE.

Za primer, hajde da razmotrimo neki API koji manipuliše korisnicima. Hajde da pogledamo kako će URL izgledati za različite akcije.

Preuzimamo sve korisnike:

GET http://api.loc/users/

Preuzimamo jednog korisnika po njegovom id:

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

Kreiramo korisnika:

POST http://api.loc/user/

Menjamo korisnika po njegovom id:

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

Brišemo korisnika po njegovom id:

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

Hajde da pogledamo kako se REST API implementira u PHP-u. Ovde postoji određeni problem. Stvar je u tome što i PHP i CURL podržavaju samo GET i POST metode:

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

Zato ćemo za implementaciju REST API-ja morati da pribegnemo triku. Njegova suština je u tome da će se u stvarnosti podaci slati samo GET i POST metodama, ali mi ćemo oponašati rad drugih metoda pomoću prilagođenog HTTP zaglavlja. Nazvaćemo ga, na primer, HTTP-X-HTTP-METHOD.

Tada ćemo moći da preuzmemo sadržaj ovog zaglavlja na sledeći način:

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

Sada možemo da napišemo implementaciju API-ja:

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

Implementirajte REST API za proizvode internet prodavnice.

Proverite rad implementiranog API-ja pomoću CURL biblioteke.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij