परिचय: REST API के लिए C++ क्यों कोई मज़ाक नहीं है
\nC++ पारंपरिक रूप से सिस्टम प्रोग्रामिंग, गेम्स और उच्च-लोड कंप्यूटिंग से जुड़ा है। हालांकि, हाल के वर्षों में इस भाषा का उपयोग वेब सेवाओं और REST API बनाने के लिए तेजी से किया जा रहा है। क्यों? क्योंकि C++ अविश्वसनीय प्रदर्शन और मेमोरी पर नियंत्रण प्रदान करता है, जो उच्च-लोड बैकएंड समाधानों के लिए महत्वपूर्ण है।
\nइस मार्गदर्शिका में हम 30 मिनट में cpp-httplib लाइब्रेरी (एक हेडर-ओनली लाइब्रेरी, इंस्टॉलेशन की आवश्यकता नहीं) का उपयोग करके C++ पर एक पूर्ण REST API बनाएंगे। आप सीखेंगे:
- \n
- C++ पर HTTP सर्वर सेटअप करना \n
- GET, POST, PUT और DELETE अनुरोधों को संभालना \n
nlohmann/jsonके माध्यम से JSON के साथ काम करना \n - प्रोजेक्ट को संकलित और चलाना \n
यह सामग्री शुरुआती और अनुभवी डेवलपर्स दोनों के लिए उपयुक्त है जो वेब डेवलपमेंट में C++ आज़माना चाहते हैं।
\n\nचरण 1: वातावरण तैयार करना और निर्भरताएँ स्थापित करना
\nकाम करने के लिए हमें चाहिए:
\n- \n
- C++17 समर्थन वाला C++ कंपाइलर (g++ या clang) \n
cpp-httplibलाइब्रेरी (एक h-फ़ाइल) \n nlohmann/jsonलाइब्रेरी (एक hpp-फ़ाइल) \n
दोनों लाइब्रेरी डाउनलोड करें:
\n# cpp-httplib स्थापित करना\nwget https://raw.githubusercontent.com/yhirose/cpp-httplib/master/httplib.h\n\n# nlohmann/json स्थापित करना\nwget https://raw.githubusercontent.com/nlohmann/json/develop/single_include/nlohmann/json.hpp\nप्रोजेक्ट संरचना सरल होगी:
\nmy_rest_api/\n├── main.cpp\n├── httplib.h\n└── json.hpp\n\nचरण 2: बेसिक HTTP सर्वर बनाना
\nहम एक न्यूनतम सर्वर से शुरू करेंगे जो पोर्ट 8080 पर सुनेगा और GET अनुरोधों का जवाब देगा।
\nmain.cpp फ़ाइल बनाएं:
#include "httplib.h"\n#include "json.hpp"\n#include <iostream>\n\nusing namespace httplib;\nusing json = nlohmann::json;\n\nint main() {\n Server svr;\n\n // रूट पर GET अनुरोध\n svr.Get("/", [](const Request& req, Response& res) {\n res.set_content("Hello, REST API on C++!", "text/plain");\n });\n\n std::cout << "Server started on http://localhost:8080" << std::endl;\n svr.listen("0.0.0.0", 8080);\n\n return 0;\n}\nसंकलित करें और चलाएं:
\ng++ -std=c++17 -pthread -o server main.cpp\n./server\nब्राउज़र खोलें या curl http://localhost:8080 का उपयोग करें — आपको स्वागत संदेश दिखाई देगा। सर्वर काम कर रहा है!
चरण 3: JSON के साथ CRUD संचालन लागू करना
\nअब हम मेमोरी में डेटा स्टोरेज (एक सरल वेक्टर) जोड़ेंगे और उपयोगकर्ताओं के साथ काम करने के लिए पूर्ण REST API लागू करेंगे।
\nअपडेटेड main.cpp:
#include "httplib.h"\n#include "json.hpp"\n#include <iostream>\n#include <vector>\n#include <string>\n#include <sstream>\n\nusing namespace httplib;\nusing json = nlohmann::json;\n\n// उपयोगकर्ता मॉडल\nstruct User {\n int id;\n std::string name;\n std::string email;\n};\n\n// मेमोरी में डेटाबेस\nstd::vector<User> users;\nint next_id = 1;\n\nint main() {\n Server svr;\n\n // POST /users - उपयोगकर्ता बनाएं\n svr.Post("/users", [](const Request& req, Response& res) {\n try {\n auto data = json::parse(req.body);\n User u;\n u.id = next_id++;\n u.name = data["name"];\n u.email = data["email"];\n users.push_back(u);\n\n json response = {{"id", u.id}, {"name", u.name}, {"email", u.email}};\n res.set_content(response.dump(), "application/json");\n } catch (...) {\n res.status = 400;\n res.set_content("{\\"error\\":\\"Invalid JSON\\"}", "application/json");\n }\n });\n\n // GET /users - सभी उपयोगकर्ताओं की सूची\n svr.Get("/users", [](const Request& req, Response& res) {\n