30 मिनट में Go पर REST API कैसे लिखें: चरण-दर-चरण मार्गदर्शिका

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

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

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

परिचय: Go REST API के लिए आदर्श क्यों है?



Go (Golang) Google द्वारा बनाई गई एक आधुनिक कंपाइल की जाने वाली प्रोग्रामिंग भाषा है। यह C++ के उच्च प्रदर्शन और Python की सरलता को जोड़ती है। यदि आपको जल्दी से REST API लिखने की आवश्यकता है, तो Go सबसे अच्छे विकल्पों में से एक है। इस लेख में, हम केवल मानक लाइब्रेरी net/http का उपयोग करके 30 मिनट में Go पर एक पूर्ण REST API बनाएंगे। आप देखेंगे कि HTTP अनुरोधों को संभालना, उन्हें रूट करना और JSON प्रतिक्रियाएँ वापस करना कितना आसान है।



लेख के अंत तक, आप अपना स्वयं का API लिखने में सक्षम होंगे जिसे सर्वर पर डिप्लॉय किया जा सकता है। हम किसी तीसरे पक्ष के फ्रेमवर्क का उपयोग नहीं करेंगे - केवल शुद्ध Go, जो कोड को हल्का और तेज़ बनाता है।



चरण 1: Go की स्थापना और प्रोजेक्ट बनाना



Go की स्थापना

यदि आपने अभी तक Go स्थापित नहीं किया है, तो आधिकारिक वेबसाइट से नवीनतम संस्करण डाउनलोड करें। अपने ऑपरेटिंग सिस्टम के लिए निर्देशों का पालन करें। स्थापना के बाद, टर्मिनल में संस्करण जांचें:



go version


आपको कुछ इस तरह देखना चाहिए go version go1.22.0 linux/amd64।



प्रोजेक्ट बनाना

प्रोजेक्ट के लिए एक नई निर्देशिका बनाएं और Go मॉड्यूल को इनिशियलाइज़ करें:



mkdir go-rest-apicd go-rest-apigo mod init go-rest-api


अब प्रोजेक्ट संरचना तैयार है। हम उदाहरण को जटिल न बनाने के लिए सारा कोड एक ही फ़ाइल main.go में लिखेंगे।



चरण 2: Go पर एक सरल HTTP सर्वर



एक बुनियादी HTTP सर्वर से शुरू करते हैं। main.go फ़ाइल खोलें और निम्नलिखित कोड जोड़ें:



package main

import ( "fmt" "log" "net/http")

func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, REST API on Go!") })

log.Println("सर्वर पोर्ट 8080 पर शुरू हुआ") log.Fatal(http.ListenAndServe(":8080", nil))}


go run main.go कमांड से सर्वर चलाएं और ब्राउज़र में http://localhost:8080 खोलें। आपको एक स्वागत संदेश दिखाई देगा। बधाई हो - आपका पहला Go HTTP सर्वर काम कर रहा है!



कोड का विश्लेषण

  • http.HandleFunc - रूट "/" के लिए हैंडलर रजिस्टर करता है।
  • http.ListenAndServe - पोर्ट 8080 पर सर्वर शुरू करता है।
  • log.Fatal - यदि सर्वर शुरू नहीं होता है तो त्रुटि प्रदर्शित करता है।


चरण 3: रूटिंग और JSON प्रोसेसिंग जोड़ना



अब REST शैली के लिए समर्थन जोड़ें: GET, POST, PUT, DELETE। हम मेमोरी में एक सरल "डेटाबेस" (स्ट्रक्चर का स्लाइस) बनाएंगे और कार्यों की सूची (todo list) प्रबंधित करेंगे।



डेटा संरचना

main.go में Task स्ट्रक्चर और एक ग्लोबल स्लाइस का विवरण जोड़ें:



type Task struct {    ID   int    `json:"id"`    Name string `json:"name"`}

var tasks []Taskvar nextID int = 1


रूट हैंडलर

एक मुख्य हैंडलर बनाएं जो HTTP विधि का विश्लेषण करेगा और आवश्यक फ़ंक्शन को कॉल करेगा:



func tasksHandler(w http.ResponseWriter, r *http.Request) {    switch r.Method {    case http.MethodGet:        getTasks(w, r)    case http.MethodPost:        createTask(w, r)    default:        http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)    }}

func taskHandler(w http.ResponseWriter, r *http.Request) { // URL से ID निकालें idStr := strings.TrimPrefix(r.URL.Path, "/tasks/") id, err := strconv.Atoi(idStr) if err != nil { http.Error(w, "Invalid task ID", http.StatusBadRequest) return }

switch r.Method { case http.MethodGet: getTask(w, r, id) case http.MethodPut: updateTask(w, r, id) case http.MethodDelete: deleteTask(w, r, id) default: http.Error(w, "Method not allowed", http.StatusMethodNot

ब्लॉग

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