PHP में REST API
विशेष दृष्टिकोण मौजूद हैं, जो API को मानकीकृत करते हैं सामान्य सुविधा के लिए, API डेवलपर्स के साथ-साथ इसके उपयोगकर्ताओं के लिए भी।
ऐसे ही एक दृष्टिकोण है REST API. इसका मूल विचार यह है कि CRUD ऑपरेशन के लिए विभिन्न HTTP प्रोटोकॉल मethods का उपयोग करना आवश्यक है।
डेटा प्राप्त करने के लिए - GET method, डेटा बनाने के लिए - POST method, डेटा बदलने के लिए - PUT method, डेटा हटाने के लिए - DELETE method।
उदाहरण के लिए, आइए एक काल्पनिक API पर विचार करें, जो users को मैनिपुलेट करता है। आइए देखें, कि विभिन्न क्रियाओं के लिए URL कैसे दिखेंगे।
सभी users प्राप्त करें:
urlGET http://api.loc/users/
उसके id के आधार पर एक user प्राप्त करें:
urlGET http://api.loc/user/1/
user बनाएँ:
urlPOST http://api.loc/user/
उसके id के आधार पर user बदलें:
urlPUT http://api.loc/user/1/
उसके id के आधार पर user हटाएँ:
urlDELETE http://api.loc/user/1/
आइए देखें कि REST API PHP में कैसे लागू किया जाता है। यहाँ एक निश्चित समस्या है। बात यह है कि PHP और CURL दोनों केवल GET और POST methods का समर्थन करते हैं:
api.loc/index.php<?php
$method = $_SERVER['REQUEST_METHOD'];
var_dump($method); // केवल GET और POST
?>
इसलिए, REST API को लागू करने के लिए
एक चाल का सहारा लेना होगा। इसका सार यह है कि
वास्तव में, डेटा केवल GET और POST methods द्वारा
ही स्थानांतरित किया जाएगा, लेकिन हम
अन्य methods के काम की नकल करेंगे
एक कस्टम HTTP हेडर की सहायता से।
इसे हम, उदाहरण के लिए, HTTP-X-HTTP-METHOD नाम देंगे।
तब हम इस हेडर की सामग्री निम्नलिखित तरीके से प्राप्त कर सकेंगे:
api.loc/index.php<?php
$method = $_SERVER['HTTP-X-HTTP-METHOD'];
?>
अब हम API का कार्यान्वयन लिख सकते हैं:
api.loc/index.php<?php
$method = $_SERVER['HTTP-X-HTTP-METHOD'];
switch ($method) {
case 'GET':
// ...
break;
case 'POST':
// ...
break;
case 'PUT':
// ...
break;
case 'DELETE':
// ...
break;
}
?>
इंटरनेट स्टोर के उत्पादों का REST API लागू करें।
CURL लाइब्रेरी की सहायता से लागू किए गए API के काम की जाँच करें।