30 मिनट में C++ पर REST API कैसे लिखें: शुरुआती लोगों के लिए

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: REST API के लिए C++ क्यों डरावना नहीं है

\n\n

कई नौसिखिए डेवलपर्स सोचते हैं कि C++ वेब सेवाएं बनाने के लिए बहुत जटिल है। हालाँकि, आधुनिक C++ (C++11 मानक से शुरू) उच्च-प्रदर्शन REST API विकसित करने के लिए शक्तिशाली और सुरुचिपूर्ण उपकरण प्रदान करता है। इस मार्गदर्शिका में, हम 30 मिनट में हल्के-फुल्के लाइब्रेरी Crow का उपयोग करके C++ पर एक पूर्ण REST API बनाएंगे।

\n\n

हम समझेंगे कि सर्वर कैसे सेट अप करें, GET और POST अनुरोधों को कैसे संभालें, JSON के साथ कैसे काम करें और डेटा कैसे लौटाएं। लेख के अंत तक, आपके पास एक कार्यशील प्रोटोटाइप होगा जिसे आप अपनी परियोजनाओं के आधार के रूप में उपयोग कर सकते हैं।

\n\n

REST API क्या है?

\n\n

REST (Representational State Transfer) वेब सेवाएं बनाने के लिए एक आर्किटेक्चरल शैली है। REST API संसाधनों को प्रबंधित करने के लिए HTTP विधियों (GET, POST, PUT, DELETE) का उपयोग करता है। डेटा आमतौर पर JSON प्रारूप में प्रेषित किया जाता है।

\n\n

1. वातावरण तैयार करना: लाइब्रेरीज़ स्थापित करना

\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\n

Windows के लिए vcpkg का उपयोग करें:

\n\n
vcpkg install crow\nvcpkg install nlohmann-json
\n\n

2. C++ पर एक सरल HTTP सर्वर बनाना

\n\n

आइए एक बुनियादी सर्वर से शुरू करें जो अनुरोधों का जवाब देगा। एक फ़ाइल main.cpp बनाएं:

\n\n
#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\n
g++ -std=c++17 -pthread main.cpp -o api_server\n./api_server
\n\n

ब्राउज़र खोलें और http://localhost:8080 पर जाएं। आपको एक स्वागत संदेश दिखाई देगा।

\n\n

3. JSON प्रोसेसिंग और CRUD ऑपरेशन जोड़ना

\n\n

अब JSON समर्थन जोड़ें और उपयोगकर्ताओं को संग्रहीत करने के लिए मेमोरी में एक सरल डेटाबेस लागू करें।

\n\n

JSON समर्थन शामिल करना

\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\n
CROW_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\n
CROW_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


                
                

ब्लॉग

पुस्तक अनुशंसाएँ