⊗ppSpAiRs 52 of 83 menu

REST API v PHP

Existujú špeciálne prístupy, ktoré štandardizujú API pre všeobecné pohodlie ako pre vývojárov API, tak pre jeho používateľov.

Jedným z takýchto prístupov je REST API. Jeho základom je myšlienka, že pre CRUD operácie je potrebné používať rôzne metódy protokolu HTTP.

Pre získanie údajov - metóda GET, pre vytvorenie údajov - metóda POST, pre zmenu údajov - metóda PUT, pre vymazanie údajov - metóda DELETE.

Pre príklad si pozrime nejaké API, ktoré manipuluje s používateľmi. Pozrime sa, ako budú vyzerať URL pre rôzne akcie.

Získame všetkých používateľov:

GET http://api.loc/users/

Získame jedného používateľa podľa jeho id:

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

Vytvoríme používateľa:

POST http://api.loc/user/

Zmeníme používateľa podľa jeho id:

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

Vymažeme používateľa podľa jeho id:

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

Pozrime sa, ako sa REST API implementuje v PHP. Je tu istý problém. Vec sa má tak, že aj PHP, aj CURL podporujú iba metódy GET a POST:

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

Preto na implementáciu REST API budeme musieť pristúpiť k triku. Jeho podstata spočíva v tom, že v skutočnosti sa údaje budú prenášať len metódami GET a POST, ale my budeme imitovať prácu iných metód pomocou vlastnej HTTP hlavičky. Pomenujeme ju, napríklad, HTTP-X-HTTP-METHOD.

Potom budeme môcť získať obsah tejto hlavičky nasledovným spôsobom:

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

Teraz môžeme napísať implementáciu API:

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

Implementujte REST API pre tovar internetového obchodu.

Otestujte činnosť implementovaného API pomocou knižnice CURL.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť