परिचय: REST API के लिए C++ क्यों डरावना नहीं है
\n\nकई नौसिखिए डेवलपर्स सोचते हैं कि C++ वेब सेवाएं बनाने के लिए बहुत जटिल है। हालाँकि, आधुनिक C++ (C++11 मानक से शुरू) उच्च-प्रदर्शन REST API विकसित करने के लिए शक्तिशाली और सुरुचिपूर्ण उपकरण प्रदान करता है। इस मार्गदर्शिका में, हम 30 मिनट में हल्के-फुल्के लाइब्रेरी Crow का उपयोग करके C++ पर एक पूर्ण REST API बनाएंगे।
\n\nहम समझेंगे कि सर्वर कैसे सेट अप करें, GET और POST अनुरोधों को कैसे संभालें, JSON के साथ कैसे काम करें और डेटा कैसे लौटाएं। लेख के अंत तक, आपके पास एक कार्यशील प्रोटोटाइप होगा जिसे आप अपनी परियोजनाओं के आधार के रूप में उपयोग कर सकते हैं।
\n\nREST API क्या है?
\n\nREST (Representational State Transfer) वेब सेवाएं बनाने के लिए एक आर्किटेक्चरल शैली है। REST API संसाधनों को प्रबंधित करने के लिए HTTP विधियों (GET, POST, PUT, DELETE) का उपयोग करता है। डेटा आमतौर पर JSON प्रारूप में प्रेषित किया जाता है।
\n\n1. वातावरण तैयार करना: लाइब्रेरीज़ स्थापित करना
\n\nत्वरित शुरुआत के लिए, हम Crow लाइब्रेरी का उपयोग करेंगे - एक न्यूनतम C++ वेब फ्रेमवर्क जिसमें जटिल सेटअप की आवश्यकता नहीं है। हमें JSON के साथ काम करने के लिए nlohmann/json लाइब्रेरी की भी आवश्यकता होगी।
\n\nनिर्भरताएं स्थापित करना (Linux/macOS)
\n\n# आवश्यक पैकेज स्थापित करें\nsudo apt-get install libboost-all-dev cmake g++\n\n# Crow डाउनलोड करें (single-header संस्करण)\nwget https://raw.githubusercontent.com/CrowCpp/Crow/master/include/crow.h\n\n# JSON लाइब्रेरी डाउनलोड करें\nwget https://github.com/nlohmann/json/releases/download/v3.11.2/json.hpp\n\nनिर्भरताएं स्थापित करना (Windows, MinGW के साथ)
\n\nWindows के लिए vcpkg का उपयोग करें:
\n\nvcpkg install crow\nvcpkg install nlohmann-json\n\n2. C++ पर एक सरल HTTP सर्वर बनाना
\n\nआइए एक बुनियादी सर्वर से शुरू करें जो अनुरोधों का जवाब देगा। एक फ़ाइल main.cpp बनाएं:
#include "crow.h"\n\nint main() {\n crow::SimpleApp app;\n\n // सरल GET रूट\n CROW_ROUTE(app, "/")([](){\n return "नमस्ते, दुनिया! C++ पर REST API काम कर रहा है!";\n });\n\n // पोर्ट 8080 पर सर्वर शुरू करें\n app.port(8080).multithreaded().run();\n}\n\nकंपाइल करें और चलाएं:
\n\ng++ -std=c++17 -pthread main.cpp -o api_server\n./api_server\n\nब्राउज़र खोलें और http://localhost:8080 पर जाएं। आपको एक स्वागत संदेश दिखाई देगा।
3. JSON प्रोसेसिंग और CRUD ऑपरेशन जोड़ना
\n\nअब JSON समर्थन जोड़ें और उपयोगकर्ताओं को संग्रहीत करने के लिए मेमोरी में एक सरल डेटाबेस लागू करें।
\n\nJSON समर्थन शामिल करना
\n\n#include "crow.h"\n#include "json.hpp"\n#include <vector>\n#include <string>\n\nusing json = nlohmann::json;\n\nstruct User {\n int id;\n std::string name;\n std::string email;\n};\n\nstd::vector<User> users;\nint next_id = 1;\n\nउपयोगकर्ताओं की सूची प्राप्त करने के लिए GET रूट
\n\nCROW_ROUTE(app, "/users")([](){\n json response = json::array();\n for (const auto& user : users) {\n response.push_back({\n {"id", user.id},\n {"name", user.name},\n {"email", user.email}\n });\n }\n return crow::response(response.dump());\n});\n\nनया उपयोगकर्ता बनाने के लिए POST रूट
\n\nCROW_ROUTE(app, "/users")\n.methods("POST"_method)([](const crow::request& req){\n auto body = json::parse(req.body);\n\n User new_user;\n new_user.id = next_id++;\n new_user.name = body["name"];\n new_user.email = body["email"];\n\n users.push_back(new_user);\n\n json response = {\n {"id", new_user.id},\n {"name", new_user.name},\n {"email", new_user.email}\n };\n\n return crow::response(201, response.dump());\n});\n\nउपयोगकर्ता को हटाने के लिए DELETE रूट
\n\n
ब्लॉग
पुस्तक अनुशंसाएँ
यह भी पढ़ें
C++ में using namespace std: यह क्यों बुरा है और वास्तव में कैसे काम करता है
C# HttpClient में Content-Type: अनुरोध को कैसे कॉन्फ़िगर करें और तोड़ें नहीं
C++ में क्लास या स्ट्रक्चर: कब क्या चुनें? मुख्य प्रश्न का विश्लेषण
जावा में डेटाबेस के साथ कार्य: PostgreSQL और MongoDB व्यवहार में
शुरुआती Rust डेवलपर्स की शीर्ष गलतियाँ: उन्नत स्तर