⊗ppSpAiRs 52 of 83 menu

REST API PHP

Ir speciālas pieejas, kas standartizē API gan izstrādātāju, gan lietotāju ērtībām.

Viena no šādām pieejām ir REST API. Tās pamatā ir ideja, ka CRUD operācijām jāizmanto dažādi HTTP protokola metodi.

Datu iegūšanai - GET metode, datu izveidošanai - POST metode, datu maiņai - PUT metode, datu dzēšanai - DELETE metode.

Piemēram, apskatīsim kādu API, kas strādā ar lietotājiem. Apskatīsim, kā izskatīsies URL dažādām darbībām.

Iegūstam visus lietotājus:

GET http://api.loc/users/

Iegūstam vienu lietotāju pēc viņa id:

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

Izveidojam lietotāju:

POST http://api.loc/user/

Mainām lietotāju pēc viņa id:

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

Dzēšam lietotāju pēc viņa id:

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

Apskatīsim, kā REST API tiek ievietots PHP. Šeit ir zināma problēma. Fakts ir tāds, ka gan PHP, gan CURL atbalsta tikai GET un POST metodes:

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

Tāpēc, lai ieviestu REST API, būs jāizmanto viltība. Tās būtība ir tāda, ka patiesībā dati tiks pārsūtīti tikai ar GET un POST metodēm, bet mēs imitēsim citu metožu darbību izmantojot pielāgotu HTTP galveni. Nosauksim to, piemēram, par HTTP-X-HTTP-METHOD.

Tad mēs varēsim iegūt šīs galvenes saturu šādi:

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

Tagad mēs varam uzrakstīt API ieviešanu:

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

Ieviesiet interneta veikala preču REST API.

Pārbaudiet ieviestā API darbību izmantojot CURL bibliotēku.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt