Yii - रेस्टफुल एपीआई

Yii RESTful API को लागू करने के लिए निम्नलिखित उपयोगी सुविधाएँ प्रदान करता है -

  • त्वरित प्रोटोटाइप
  • अनुकूलन योग्य वस्तु क्रमांकन
  • प्रतिक्रिया स्वरूप (डिफ़ॉल्ट रूप से JSON और XML का समर्थन करना)
  • संग्रह डेटा और सत्यापन त्रुटियों का प्रारूपण
  • कुशल मार्ग
  • HATEOAS के लिए समर्थन
  • विकल्प और हेड क्रिया के लिए अंतर्निहित समर्थन
  • डेटा कैशिंग और HTTP कैशिंग
  • सत्यापन और प्राधिकरण
  • दर सीमित

कार्रवाई में RESTful API दिखाने के लिए, हमें डेटा की आवश्यकता है।

डीबी की तैयारी

Step 1- एक नया डेटाबेस बनाएँ। डेटाबेस को निम्नलिखित दो तरीकों से तैयार किया जा सकता है।

  • टर्मिनल में mysql -u root -p चलाएं ।

  • CREAT DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci के माध्यम से एक नया डेटाबेस बनाएं ;

Step 2 - में डेटाबेस कनेक्शन को कॉन्फ़िगर करें config/db.phpफ़ाइल। वर्तमान में उपयोग किए गए सिस्टम के लिए निम्न कॉन्फ़िगरेशन है।

<?php
   return [
      'class' => 'yii\db\Connection',
      'dsn' => 'mysql:host = localhost;dbname = helloworld',
      'username' => 'vladimir',
      'password' => '12345',
      'charset' => 'utf8',
   ];
?>

Step 3 - रूट फोल्डर के अंदर run ./yii migrate/create test_table। यह कमांड हमारे DB को प्रबंधित करने के लिए एक डेटाबेस माइग्रेशन बनाएगी। माइग्रेशन फ़ाइल में दिखाई देना चाहिएmigrations प्रोजेक्ट रूट का फ़ोल्डर।

Step 4 - माइग्रेशन फ़ाइल संशोधित करें (m160106_163154_test_table.php इस मामले में) इस तरह से।

<?php
   use yii\db\Schema;
   
   use yii\db\Migration;
   class m160106_163154_test_table extends Migration {
      public function safeUp() {
         $this->createTable("user", [ "id" => Schema::TYPE_PK, "name" => Schema::TYPE_STRING, "email" => Schema::TYPE_STRING, ]); $this->batchInsert("user", ["name", "email"], [
            ["User1", "[email protected]"],
            ["User2", "[email protected]"],
            ["User3", "[email protected]"],
            ["User4", "[email protected]"],
            ["User5", "[email protected]"], 
            ["User6", "[email protected]"],
            ["User7", "[email protected]"],
            ["User8", "[email protected]"],
            ["User9", "[email protected]"],
            ["User10", "[email protected]"],
            ["User11", "[email protected]"],
         ]);
      }
      public function safeDown() {
         $this->dropTable('user');
      }
   }
?>

उपरोक्त प्रवासन एक बनाता है userइन फ़ील्ड्स के साथ तालिका: आईडी, नाम और ईमेल। यह कुछ डेमो उपयोगकर्ताओं को भी जोड़ता है।

Step 5 - प्रोजेक्ट रूट के अंदर run ./yii migrate डेटाबेस में माइग्रेशन लागू करने के लिए।

Step 6 - अब, हमें अपने लिए एक मॉडल बनाने की आवश्यकता है userतालिका। सादगी के लिए, हम उपयोग करने जा रहे हैंGiiकोड जनरेशन टूल। इसे खोलोurl: http://localhost:8080/index.php?r=gii। फिर, "मॉडल जनरेटर" हेडर के तहत "प्रारंभ" बटन पर क्लिक करें। तालिका नाम ("उपयोगकर्ता") और मॉडल वर्ग ("MyUser") भरें, "पूर्वावलोकन" बटन पर क्लिक करें और अंत में, "जनरेट" बटन पर क्लिक करें।

MyUser मॉडल को मॉडल निर्देशिका में दिखाई देना चाहिए।

पोस्टमैन को स्थापित करना

RESTful सेवा को विकसित करते समय पोस्टमैन एक उपयोगी उपकरण है। यह अनुरोधों के निर्माण के लिए एक उपयोगी इंटरफ़ेस प्रदान करता है।

आप इस उपकरण को पा सकते हैं https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en ।

इसे स्थापित करने के लिए, "क्रोम में जोड़ें" बटन दबाएं।