गो रेस्टी
Go Resty एक गो भाषा पुस्तकालय है जो RESTful API क्लाइंट बनाने के लिए है। यह एक संक्षिप्त और शक्तिशाली API प्रदान करता है जो डेवेलपर्स को आसानी से HTTP रिक्वेस्ट भेजने और प्रतिक्रिया संभालने की सुविधा प्रदान करता है।
विशेषताएँ
- GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, और अन्य रिक्वेस्ट मेथड का समर्थन
- सरल और चेनेबल सेटिंग्स और रिक्वेस्ट मेथड्स
- रिक्वेस्ट बॉडी
string,[]byte,struct,map,slice, औरio.Readerके प्रकार का हो सकता है- स्वचालित रूप से
Content-Typeका पता लगाता है -
io.Readerके लिए अनबफर्ड प्रसंस्करण का उपयोग करता है - मध्यवर्ती और रिक्वेस्ट क्रियान्वयन में ऑरिजिनल
*http.Requestइंस्टेंस कूRequest.RawRequestके माध्यम से पहुंचकरी जा सकता है -
Request.RawRequest.GetBody()के माध्यम से रिक्वेस्ट बॉडी के मल्टिपल रीडिंग की अनुमति देता है
- स्वचालित रूप से
- प्रतिक्रिया ऑब्जेक्ट के साथ और भी संभावनाएँ प्रदान करता है
-
response.Body()के रूप में प्रतिक्रिया को[]byteएरे के रूप में पहुंचता है, अथवाresponse.String()के रूप मेंstringके रूप में - प्रतिक्रिया का समय
response.Time()और प्राप्ति का समयresponse.ReceivedAt()प्राप्त करता है
-
- स्वचालित रूप से
JSONऔरXMLजैसे कंटेंट टाइप्स को एनकोड और डीकोड करता है-
Content-Typeहेडर औरstruct/mapपैरामीटर प्रदान नहीं होते हैं तो यह डिफ़ॉल्ट रूप सेJSONपर काम करता है - JSON एन्कोडिंग/डिकोडिंग और XML एन्कोडिंग/डिकोडिंग को अओवरराइड करने के लिए विकल्प प्रदान करता है
-
-
multipart/form-dataके माध्यम से एक या एक से अधिक फ़ाइलों को सरलता से अपलोड करता है- फ़ाइलों के
Content-Typeको स्वचालित रूप से पता लगाता है
- फ़ाइलों के
- बैकऑफ रिट्राई मेकेनिज़म और रिट्राई स्थिति कार्य संदर्भ का समर्थन करता है
- HTTP और REST रिक्वेस्ट्स के लिए मिडडलवेयर समर्थन, इनक्लूडिंग रिक्वेस्ट और प्रतिक्रिया के लिए Resty क्लाइंट
-
Request.SetContextका समर्थन करता है -
BasicAuthऔरBearerटोकन्स के लिए अधिकृतता विकल्प - सभी रिक्वेस्ट्स या विशिष्ट रिक्वेस्ट्स के लिए रिक्वेस्ट
ContentLengthमान सेट करता है - कस्टम रूट सर्टिफ़िकेट्स और क्लाइंट सर्टिफ़िकेट्स
- फ़ाइल को सीधे HTTP प्रतिक्रिया को डाउनलोड/सेव करता है,
curl -oकमांड के समान - कुकीज के लिए रिक्वेस्ट और CookieJar समर्थन
- होस्ट URL के बजाय SRV रिकॉर्ड्स पर आधारित रिक्वेस्ट्स
-
Timeout,RedirectPolicy,Proxy,TLSClientConfig,Transportआदि जैसी क्लाइंट सेटिंग्स - Resty डिज़ाइन
- क्लाइंट स्तर पर सेट और चयन, रिक्वेस्ट स्तर पर ओवरराइड करने का विकल्प
- रिक्वेस्ट्स और प्रतिक्रियाओं के लिए मिडडलवेयर
- आवश्यकता अनुसार
resty.New()का उपयोग करके मल्टीपल क्लाइंट्स बनाने की अनुमति देता है
- कंकरेंसी के लिए गोरूटीन सुरक्षित
- डीबग मोड - स्पष्ट और समृद्ध लॉग प्रदर्शन
- ग्ज़िप - गो स्वचालित रूप से इसे हैंडल करता है, रेस्टी में फॉलबैक हैंडलिंग के साथ
-
HTTP/2औरHTTP/1.1के साथ संगत - बेज़ल समर्थन
- Resty के लिए आसान मॉकिंग प्रदान करता है
समर्थित गो संस्करण
go1.16 और उससे ऊपर का उपयोग करना सुझावित है।
v1.10.0 से शुरू करके, Resty go modules का समर्थन करता है।
Resty संस्करण v2 और उससे ऊपर, यह पूरी तरह से go modules पैकेज पब्लिशिंग का समर्थन करता है। यह /vN सफ़िक्स इम्पोर्ट्स को समझने वाले गो संस्करण का उपयोग करना आवश्यक है:
- 1.9.7+
- 1.10.3+
- 1.11+