प्रोग्रामिंग

रेस्टफुल - शुरुआती के लिए त्वरित गाइड

30 अक्टूबर, 2021

यदि आप एक निर्माण करना चाहते हैं एप्लिकेशन प्रोग्राम इंटरफ़ेस (एपीआई) वेब अनुप्रयोगों के लिए, RESTful का उपयोग किया जाता है। एप्लिकेशन प्रोग्राम इंटरफ़ेस (API) क्या है? एक एप्लीकेशन प्रोग्राम इंटरफेस किन्हीं दो सॉफ्टवेयर अनुप्रयोगों के बीच मध्यस्थ है। यह दो सॉफ्टवेयर एप्लिकेशन को एक दूसरे के साथ सुरक्षित और सुरक्षित रूप से संवाद करने में सक्षम बनाता है। दैनिक जीवन में विशिष्ट एपीआई एप्लिकेशन फेसबुक का उपयोग कर रहे हैं, चैटिंग एप्लिकेशन का उपयोग कर रहे हैं, या मोबाइल फोन पर मौसम पूर्वानुमान ऐप का उपयोग कर रहे हैं।

आइए एक सरल उदाहरण देखें और समझें कि वास्तव में एपीआई क्या है? एक रेस्तरां के उदाहरण पर विचार करें। हम एक रेस्तरां में जाते हैं और अपनी पसंद का खाना खाते हैं। हम क्या करते हैं कि हम मेनू कार्ड का निरीक्षण करते हैं और वेटर को मेनू से आपके चयनित आइटम के बारे में बताते हैं। फिर वेटर आपके आदेश की सूचना रसोई विभाग को देता है, और आपका भोजन तैयार हो जाता है। भोजन तैयार होने के बाद, वेटर आपके लिए इसे आपकी टेबल पर परोसता है। यहां, वेटर आपके और रसोई विभाग के बीच का इंटरफेस है। ऐसा ही होता है जबकि दो सिस्टम संचार करते हैं।

एक एप्लिकेशन प्रोग्राम इंटरफ़ेस (एपीआई) को चार प्राथमिक प्रकारों, ओपनएपीआई, पार्टनर एपीआई, आंतरिक एपीआई और समग्र एपीआई में वर्गीकृत किया गया है। OepnAPI को सभी के द्वारा एक्सेस करने की अनुमति है, क्योंकि वे सार्वजनिक रूप से उपलब्ध हैं। पार्टनर एपीआई में, किसी विशेष उपयोगकर्ता को इसे एक्सेस करने के लिए उपयुक्त अधिकार की आवश्यकता होती है, क्योंकि वे सार्वजनिक उपयोग के लिए विकसित नहीं होते हैं। आंतरिक एपीआई विशेष रूप से कंपनी के आंतरिक उपयोग के लिए डिज़ाइन किए गए हैं। अंत में, समग्र एपीआई का उपयोग आमतौर पर कंपनी के संचालन और प्रदर्शन को तेज करने के लिए किया जाता है।

एक अन्य एपीआई प्रकार वेब सेवा एपीआई है। चार प्राथमिक वेब सेवा API, SOAP, XML-RPC, JSON-RPC और REST हैं। SOAP का अर्थ है a सरल ऑब्जेक्ट एक्सेस प्रोटोकॉल , जो XML प्रारूप का उपयोग करके डेटा स्थानांतरित करता है। SOAP API का उपयोग शामिल है वेब सेवा परिभाषा भाषा (WSDL) इसके इंटरफेस को परिभाषित करने के लिए। एक अन्य वेब सेवा एपीआई है एक्सएमएल-आरपीसी . जैसा कि इसके नाम से पता चलता है, इसने डेटा शेयरिंग के लिए XML फॉर्म का इस्तेमाल किया। XML-RPC API SOAP API की तुलना में सरल और अधिक सुलभ है।

अगली वेब सेवा API है JSON-RPC . यह XML के समान API है, लेकिन यह डेटा साझा करने के लिए JSON प्रारूप का उपयोग करता है। अंत में, REST API उपरोक्त तीनों से अलग है। यह वास्तु मानकों का संग्रह है। REST API को RESTful API भी कहा जाता है। यह आमतौर पर उपयोग की जाने वाली वेब सेवा एपीआई में से एक है, क्योंकि इसमें असाधारण रूप से कम बैंडविड्थ की आवश्यकता होती है।

इस लेख में, हम RESTful वेब सेवा के बारे में एक त्वरित मार्गदर्शिका देखेंगे। यह पोस्ट आपको RESTful वेब सेवा के बारे में सब कुछ जानने में मदद करेगी। हमने आसान उदाहरणों के साथ रीस्टफुल वेब सेवा अवधारणाओं को और अधिक सरलता से समझाया है। शुरू करने से पहले एक बात याद रखनी चाहिए रेस्टफुल को समझें एपीआई यह है कि आपको जावा प्रोग्रामिंग भाषा, एचटीएमएल, सीएसएस, एजेएक्स और टेक्स्ट एडिटर का बेहतर ज्ञान होना चाहिए, क्योंकि रेस्टफुल वेब एप्लिकेशन विकसित करने के लिए एक वेब सेवा है। तो, चलिए अपना RESTful API ट्यूटोरियल शुरू करते हैं।

विषयसूची

रेस्टफुल वेब सर्विस एपीआई क्या है?

इससे पहले कि हम जानें कि RESTful API क्या है, हम पहले यह जान लेंगे कि वास्तव में वेब सेवा क्या है। ए वेब सेवा सिस्टम के बीच डेटा साझा करने या आदान-प्रदान करने के लिए आवश्यक मानकों या सिद्धांतों का एक समूह है। आज, हम अपने मोबाइल फोन और डेस्कटॉप पर कई एप्लिकेशन का उपयोग करते हैं। ये एप्लिकेशन कई प्रोग्रामिंग भाषाओं में लिखे गए हैं, और फिर भी, ये अलग-अलग ऑपरेटिंग सिस्टम पर काम करते हैं। एक वेब सेवा आपको विभिन्न ऑपरेटिंग सिस्टम पर किसी विशेष सॉफ़्टवेयर एप्लिकेशन तक पहुंचने में सक्षम बनाती है।

RESTful API एक वेब सेवा API है। इसमें वास्तु मानकों का एक संग्रह शामिल है और विशेष डेटा तक पहुँचने और उपयोग करने के लिए एक HTTP प्रोटोकॉल का उपयोग करता है। आरईएसटी का तात्पर्य है प्रतिनिधित्ववादी स्थिति में स्थानांतरण . RESTful API में, शामिल प्रत्येक घटक को एक संसाधन के रूप में माना जाता है। आप इन संसाधनों का उपयोग कर सकते हैं HTTP प्रोटोकॉल तरीके।

RESTful API में एक सर्वर और एक क्लाइंट शामिल होता है। REST API के क्लाइंट सर्वर द्वारा प्रदान किए गए संसाधनों तक पहुँच सकते हैं और उनमें हेरफेर कर सकते हैं। प्रत्येक संसाधन का एक अलग यूआरआई या वैश्विक आईडी होता है। URI या वैश्विक आईडी का उपयोग करके, हम RESTful API में संसाधनों की पहचान कर सकते हैं। यूआरआई का अर्थ है a यूनिफॉर्म रिसोर्स पहचानकर्ता . आप संसाधन प्रतिनिधित्व के लिए आरईएसटी एपीआई में टेक्स्ट, एक्सएमएल.जेएसओएन, या जेएसओएन प्रारूपों का उपयोग कर सकते हैं।

RESTful वेब सेवा आमतौर पर क्लाउड उपभोक्ताओं द्वारा उपयोग की जाती है, जो उन्हें वेब सेवाओं तक पहुँचने और प्रबंधित करने में सक्षम बनाती है। REST API एक मजबूत API बनाने के लिए सबसे वांछनीय विकल्पों में से एक के रूप में कार्य करता है। आरईएसटी आर्किटेक्चर का उपयोग करके बनाया गया एक एपीआई उपयोगकर्ताओं को क्लाउड सेवाओं के साथ प्रबंधनीय रूप से बातचीत करने की अनुमति देता है। कुछ लोकप्रिय वेबसाइटें जो अपने एपीआई बनाने के लिए रीस्टफुल वेब सेवा का उपयोग करती हैं, वे हैं: अमेज़न वेब सेवाएँ (एडब्ल्यूएस), ट्विटर, लिंक्डइन और गूगल।

रेस्टफुल वेब सर्विस एपीआई का कार्य

हमने RESTful वेब सेवा का संक्षिप्त विवरण देखा है। अब, आइए जानते हैं कि RESTful API की कार्यप्रणाली क्या है। RESTful API किन्हीं दो अनुप्रयोगों के बीच हर एक लेन-देन को कई छोटे मॉड्यूल में तोड़ देता है। यहां, लेनदेन का तात्पर्य डेटा या सूचना के आदान-प्रदान से है। प्रत्येक मॉड्यूल लेनदेन की आवश्यक जानकारी रखता है। इसलिए, डेवलपर्स किसी भी वेब एप्लिकेशन के लिए एपीआई बनाने में सहज और लचीला महसूस करते हैं।

आज, कई कंपनियां, जैसे क्लाउड डेटा मैनेजमेंट इंटरफेस (सीडीएमआई), अमेज़ॅनएस 3, आदि, एपीआई विकसित करने के लिए अपने विशेष मॉडल पेश करती हैं। संसाधनों तक पहुँचने के लिए RESTful API वेब सेवा में कई कमांड हैं। संसाधन प्रतिनिधित्व किसी दिए गए टाइमस्टैम्प पर एक विशिष्ट संसाधन की स्थिति को परिभाषित करता है।

RESTful वेब सेवा API में HTTP तरीके

RESTful वेब सेवा API संसाधनों तक पहुँचने और उनमें हेरफेर करने के लिए HTTP प्रोटोकॉल का उपयोग करता है। RESTful वेब सेवा, GET, PUT, POST, DELETE में उपयोग की जाने वाली चार प्राथमिक HTTP विधियाँ हैं। आइए इन HTTP विधियों में से प्रत्येक को संक्षेप में जानते हैं।

    प्राप्त:GET विधि उपयोगकर्ताओं को RESTful API के संसाधनों तक पहुँचने में सक्षम बनाती है। लेकिन, उन्हें बदला या हेरफेर नहीं किया जा सकता है। GET विधि का उपयोग करके, आप केवल संसाधन पढ़ सकते हैं।रखना:HTTP PUT विधि आपको संसाधनों को संशोधित करने या उनकी स्थिति बदलने की अनुमति देती है। यह आपको एक और नया संसाधन बनाने की अनुमति भी देता है।पद:आप एक नया संसाधन बनाने के लिए POST पद्धति का उपयोग कर सकते हैं।हटाएं:HTTP DELETE विधि का उपयोग संसाधन को हटाने के लिए किया जाता है।

RESTful वेब सेवा API कई डेटा स्वरूपों का समर्थन करता है, जैसे application/xml, application/json, application/x-www-form-urlencoded, application.x-web+xml, और multipart/form-data।

रेस्टफुल एपीआई आर्किटेक्चर गुण और बाधाएं

डॉ. रॉय फील्डिंग रेस्टफुल वेब सर्विस एपीआई के विकासकर्ता हैं। नीचे RESTful API आर्किटेक्चर के कुछ महत्वपूर्ण गुण और बाधाएं दी गई हैं।

रेस्टफुल एपीआई के गुण

  1. RESTful API अंतिम उपयोगकर्ताओं को उच्च प्रदर्शन प्रदान करता है। जब कोई उपयोगकर्ता किसी लिंक पर क्लिक करता है, तो उसे तत्काल परिणाम प्रदान किए जा रहे हैं। और डेवलपर्स उपयोगकर्ताओं को सभी सेवाएं प्रदान करते हैं।
  2. रेस्टफुल एपीआई की एक अन्य संपत्ति स्केलेबिलिटी है। उपयोगकर्ताओं के बढ़ने या घटने के बावजूद RESTful API नियमित रूप से सेवाएं प्रदान करता है।
  3. RESTful API का इंटरफ़ेस एक समान है। सभी संसाधनों की पहचान उनके संबंधित यूआरआई का उपयोग करके की जाती है। इसलिए, यह समान इंटरफ़ेस RESTful API को सरल बनाता है।
  4. अगली संपत्ति परिवर्तनशीलता है। सिस्टम में कोई भी बदलाव आसानी और आराम से होना चाहिए।
  5. RESTful API आर्किटेक्चर अत्यधिक पोर्टेबल और विश्वसनीय है।

RESTful API की वास्तुकला संबंधी बाधाएं

किसी भी RESTful वेब सेवा API के लिए, नीचे दी गई छह वास्तु शर्तें होनी चाहिए।

  1. RESTful वेब सेवा API के लिए पहली वास्तु बाधा यह है कि इसे एक समान इंटरफ़ेस का उपयोग करना चाहिए। सभी RESTful API संसाधनों को उनके संबंधित यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) का उपयोग करके पहचाना जाना चाहिए। उन्हें केवल चार HTTP विधियों, PUT, POST, GET, और DELETE के माध्यम से एक्सेस और हेरफेर किया जाना चाहिए।
  2. RESTful API में क्लाइंट और सर्वर का सटीक प्रतिनिधित्व होना चाहिए। क्लाइंट एकसमान इंटरफ़ेस और अनुरोध एकत्रण को संभालता है। दूसरी ओर, सर्वर सुरक्षा, डेटा एक्सेस और वर्कलोड प्रबंधन को नियंत्रित करता है। सर्वर सभी संसाधनों को रखता है, और क्लाइंट सर्वर से संसाधनों का अनुरोध करता है।
  3. RESTful वेब सेवा API के लिए एक और वास्तु बाधा स्टेटलेस ऑपरेशन है। RESTful API में क्लाइंट और सर्वर को स्टेटलेस फंक्शन्स का पालन करना चाहिए। सभी राज्य प्रबंधन कार्यों को क्लाइंट-साइड पर किया जाना चाहिए।
  4. सभी RESTful वेब सेवा API को कैशिंग करना चाहिए। यदि यह प्रतिनिधित्व किया जाता है कि कैशिंग संभव नहीं है, तो केवल कैशिंग नहीं किया जाना चाहिए।
  5. किसी विशेष एप्लिकेशन के आर्किटेक्चर में कई परतों पर सर्वर होना चाहिए। एक परत में तत्काल परत को छोड़कर अन्य परतों के संबंध में कोई जानकारी नहीं होनी चाहिए।
  6. आम तौर पर, सर्वर क्लाइंट को एक्सएमएल या जेएसओएन प्रारूप में संसाधनों के स्थिर प्रतिनिधित्व भेजता है। आवश्यकता पड़ने पर इसे क्लाइंट को निष्पादन योग्य कोड भी प्रेषित करना चाहिए।

आगे के खंड में, हम सीखेंगे कि HTTP विधियों का उपयोग करके वेब सेवा कैसे उत्पन्न की जाती है। उपयोगकर्ता प्रबंधन बनाने के लिए हम दो HTTP विधियों, GET और POST का उपयोग करेंगे। निम्नलिखित कुछ आवश्यक कार्यात्मकताओं का उपयोग किया जाता है:

  1. एक खाली POST बॉडी के साथ HTTP GET पद्धति का उपयोग करते हुए, हम उपयोगकर्ता नामों वाली एक सूची प्रदर्शित करेंगे। एक समान संसाधन पहचानकर्ता को इस रूप में लें /उपयोगकर्ता/सेवा/उपयोगकर्ता .
  2. बाद में, हम प्रत्येक उपयोगकर्ता के विवरण को एक सूची में जोड़ देंगे। इस प्रयोजन के लिए, हम POST बॉडी में JSON स्ट्रिंग के साथ HTTP POST पद्धति का उपयोग करेंगे। यूआरआई के रूप में प्रयोग करें /उपयोगकर्ता/सेवा/जोड़ेंउपयोगकर्ता .
  3. अंत में, हम HTTP GET पद्धति का उपयोग करके अलग-अलग उपयोगकर्ताओं का विवरण प्रदर्शित करेंगे। POST बॉडी को खाली रखें और URI का उपयोग करें /उपयोगकर्ता/सेवा/getUser/:id .

रीस्टफुल वेब सेवाओं के लिए पर्यावरण सेटअप

RESTful वेब सेवा के साथ काम करने के लिए, हम इसका उपयोग करेंगे जर्सी फ्रेमवर्क . यह ढांचा मानक विनिर्देश को लागू करता है, जिसे JAX-RS 2.0 API कहा जाता है। इस विनिर्देशन का उपयोग करके, हम RESTful वेब सेवाएँ उत्पन्न कर सकते हैं। इससे पहले कि हम जर्सी फ्रेमवर्क की ओर बढ़ें, हम आपके कंप्यूटर सिस्टम पर एक्लिप्स, टॉमकैट और जेडीके एनवायरनमेंट सेट करना सीखेंगे। हमने सिस्टम पर सभी तीन परिवेशों को सटीक और सीधे चरणों के साथ सेट करने के बारे में बताया है।

जावा डेवलपमेंट किट (JDK) कैसे सेट करें?

जावा डेवलपमेंट किट (JDK) जावा कोड चलाने के लिए उपयोग किए जाने वाले आवश्यक पैकेजों में से एक है। जावा में JDK पैकेज उपयोगकर्ताओं को जावा प्रोग्राम लिखने में सक्षम बनाता है। आपको JavaSE नाम का यह पैकेज यहां से डाउनलोड करना होगा वेबसाइट :

डाउनलोड करने के बाद दिए गए दिशा-निर्देशों की मदद से इसे इंस्टॉल करें। एक बार हो जाने के बाद, आपको PATH और JAVA_HOME पर्यावरण चर को उस स्थान पर ठीक करना होगा जहां 'जावा' और 'जावाक' मौजूद हैं। आम तौर पर, 'जावा' java_install_dir/bin में मौजूद होता है, और 'javac' 'java_install_dir' में मौजूद होता है।

Windows XP, NT, या 2000 सिस्टम पर PATH और JAVA_HOME पर्यावरण चर को ठीक करने के लिए, 'मेरा कंप्यूटर' पर जाएं, उस पर राइट-क्लिक करें, और 'गुण' पर क्लिक करें। आप 'उन्नत टैब' देखेंगे। उस पर क्लिक करें। और बाद में 'पर्यावरण चर' पर क्लिक करें। सिस्टम पर 'जावा' और 'जावैक' स्थान के साथ पाथ और जावा_एचओएमई पर्यावरण चर बदलें, और 'ओके' बटन पर क्लिक करें। आपका पर्यावरण चर सेट-अप हो गया है।

Linux और Solaris सिस्टम के लिए, नीचे दिए गए चरणों का पालन करें। विचार करें कि आप C शेल का उपयोग करते हैं, और आपने JavaSE फ़ाइल को /usr/local/jdk1.7.9_75 स्थान पर डाउनलोड किया है। नीचे दिए गए आदेशों के साथ '.cshrc' फ़ाइल को अपडेट करें:

|_+_|

ग्रहण आईडीई कैसे सेट अप करें?

पहली चीज़ जो आपको फॉलो करनी है, वह है एक्लिप्स के नवीनतम बायनेरिज़ को उसके आधिकारिक से डाउनलोड करना वेबसाइट .

नवीनतम ग्रहण बायनेरिज़ को डाउनलोड करने के बाद, उन्हें अपने सिस्टम पर उचित स्थान पर रखें। विचार करें कि हमने C:eclipse में विंडोज सिस्टम पर एक्लिप्स बायनेरिज़ को स्थित किया है। हम Linux या Unix सिस्टम के लिए /usr/local/eclipse स्थान पर एक्लिप्स बायनेरिज़ का पता लगाएंगे। इसे उचित स्थान पर रखने के बाद, PATH चर को उस स्थान पर ठीक करें जहाँ आपने ग्रहण बायनेरिज़ रखा है।

एक्लिप्स शुरू करने के लिए, Eclipse.exe फ़ाइल पर डबल क्लिक करें, या आप विंडोज कमांड प्रॉम्प्ट पर नीचे दिए गए कमांड को टाइप कर सकते हैं।

|_+_|

यदि आप लिनक्स या सोलारिस सिस्टम पर एक्लिप्स का उपयोग करते हैं, तो इसे शुरू करने के लिए नीचे दिए गए कमांड का उपयोग करें।

|_+_|

यदि सब कुछ ठीक हो जाता है और सेट-अप उचित है, तो एप्लिकेशन शुरू हो जाता है, और कोड लिखने के लिए स्क्रीन दिखाई देती है।

अपाचे टॉमकैट कैसे सेट अप करें?

यहां, हम समझेंगे कि अपाचे टॉमकैट के लिए आपके सिस्टम के वातावरण को कैसे स्थापित और सेट किया जाए। सबसे पहले, आपको इस पर नवीनतम टॉमकैट संस्करण डाउनलोड करना होगा वेबसाइट .

इस नवीनतम टॉमकैट संस्करण को डाउनलोड करने के बाद, इसे अपने सिस्टम पर उपयुक्त स्थान पर रखें।

आइए मान लें कि हमने टॉमकैट अपाचे फाइल को विंडोज सिस्टम पर C:apache-tomcat-7.0.59 लोकेशन पर रखा है। हम टॉमकैट अपाचे फाइल को /usr/लोकल/अपाचे-टॉमकैट-7.0.59 लोकेशन पर रखेंगे लिनक्स या सोलारिस प्रणाली। उसके बाद, आपको CATALINA_HOME पर्यावरण चर को उस स्थान पर ठीक करना होगा जहां आपने डाउनलोड की गई टॉमकैट अपाचे फ़ाइल रखी है।

आप अपने विंडोज सिस्टम पर स्टार्टअप.बैट फाइल पर क्लिक करके टॉमकैट एप्लिकेशन को शुरू कर सकते हैं। आप टॉमकैट एप्लिकेशन को शुरू करने के लिए निम्न कमांड का भी उपयोग कर सकते हैं।

|_+_|

या

|_+_|

यदि आप लिनक्स या सोलारिस सिस्टम पर टॉमकैट एप्लिकेशन का उपयोग कर रहे हैं, तो आपको इसे शुरू करने के लिए नीचे दिए गए किसी एक कमांड का पालन करना होगा।

|_+_|

या

|_+_|

जब सब कुछ ठीक हो जाता है, तो एक स्क्रीन दिखाई देती है जहां आप कोड लिख सकते हैं और उसे चला सकते हैं। टॉमकैट के साथ सभी डिफ़ॉल्ट एप्लिकेशन नीचे जाकर उपलब्ध होंगे वेबसाइट :

टॉमकैट कॉन्फ़िगरेशन और उस पर चल रहे प्रोग्राम के बारे में पूरी जानकारी पर उपलब्ध है वेबसाइट .

यदि आप विंडोज सिस्टम पर टॉमकैट एप्लिकेशन को रोकना चाहते हैं, तो निम्न में से कोई एक कमांड टाइप करें।

|_+_|

या

|_+_|

टॉमकैट एप्लिकेशन को बंद करने के लिए आप नीचे दिए गए दो आदेशों में से कोई एक टाइप कर सकते हैं।

|_+_|

या

|_+_|

जर्सी फ्रेमवर्क पुस्तकालय कैसे स्थापित करें?

जेडीके, एक्लिप्स और टॉमकैट अपाचे की स्थापना के बाद, अब आप जर्सी फ्रेमवर्क की स्थापना के लिए जा सकते हैं। जर्सी फ्रेमवर्क को डाउनलोड करने के लिए नीचे दिए गए दिशा-निर्देशों का क्रमिक रूप से पालन करें।

  1. सबसे पहले, आपको जर्सी फ्रेमवर्क को स्थापित करने के लिए विंडोज या यूनिक्स जैसे ऑपरेटिंग सिस्टम पर निर्णय लेना होगा। यदि आप विंडोज सिस्टम चुनते हैं, तो .zip फाइल डाउनलोड करें और यूनिक्स सिस्टम के लिए .tz फाइल डाउनलोड करें।
  2. अगला कदम नीचे से नवीनतम जर्सी फ्रेमवर्क बायनेरिज़ डाउनलोड करना है वेबसाइट .
  3. विंडोज सिस्टम पर .zip फाइल को डाउनलोड करने के बाद, आपको इसे अनजिप करना होगा। मान लीजिए आपने jaxrs-ri-2.17.zip फ़ाइल डाउनलोड कर ली है। इस फ़ाइल को अनज़िप करने के बाद, यह E:jaxrs-ri-2.17jaxrs-ri स्थान पर एक निर्देशिका संरचना प्रदान करता है।
  4. सभी जर्सी पुस्तकालय C:jaxrs-ri-2.17jaxrs-rilib निर्देशिका में होंगे, और निर्भरताएँ C:jaxrs-ri-2.17jaxrs-riext पर मौजूद होंगी।
  5. बाद में, क्लासस्पैट चर को उस स्थान पर ठीक करें जहां आपके जर्सी पुस्तकालय मौजूद हैं, C:jaxrs-ri-2.17jaxrs-rilib निर्देशिका। याद रखें कि यदि आप एक्लिप्स एप्लिकेशन का उपयोग करते हैं तो जर्सी फ्रेमवर्क के लिए क्लासस्पैट चर को ठीक करने की कोई आवश्यकता नहीं है।

अब आप जानते हैं कि RESTful वेब सेवा के लिए परिवेश कैसे सेट-अप किया जाता है। उपरोक्त सभी चरणों का पालन करें, और आप जर्सी उदाहरण लिखने के लिए तैयार होंगे।

रेस्टफुल फर्स्ट उदाहरण - जर्सी (JAX-RS)

जावा, टॉमकैट अपाचे, एक्लिप्स और जर्सी फ्रेमवर्क वातावरण स्थापित करने के बाद, आप रेस्टफुल एपीआई का उपयोग करके वेब एप्लिकेशन बनाना शुरू कर सकते हैं। रेस्टफुल एपीआई में प्रोग्राम लिखने के बारे में एक सटीक विचार प्राप्त करने के लिए आइए जर्सी फ्रेमवर्क में एक उदाहरण देखें। प्रोग्राम को सफलतापूर्वक चलाने के लिए आपको नीचे दिए गए चरणों का क्रमिक रूप से पालन करना होगा।

चरण 1: जावा प्रोजेक्ट बनाएं

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

  1. अपने सिस्टम से एक्लिप्स एप्लिकेशन प्रारंभ करें। फ़ाइल विकल्प पर क्लिक करें, नया पर क्लिक करें और नई परियोजना का चयन करें।
  2. बाद में, विज़ार्ड सूची से विज़ार्ड डायनेमिक वेब प्रोजेक्ट चुनें।
  3. विजार्ड का चयन करने के बाद अपने प्रोजेक्ट को मनचाहा नाम दें, जैसे फर्स्टरेस्टउदाहरण .
  4. जब आप विज़ार्ड विंडो में अपना प्रोजेक्ट नाम सहेजते हैं, तो प्रोजेक्ट एक्सप्लोरर पर जाएं, और आप वहां अपना प्रोजेक्ट नाम देखेंगे।

चरण 2: आवश्यक पुस्तकालय जोड़ें

प्रोजेक्ट बनाने और इसे एक विशिष्ट नाम से सहेजने के बाद, आपको अपने प्रोजेक्ट में जर्सी फ़्रेमवोक के पुस्तकालयों और निर्भरताओं को जोड़ना होगा। हमने जर्सी के ज़िप फ़ोल्डर से बनाए गए प्रोजेक्ट की वेब-आईएनएफ/lib निर्देशिका में कॉपी किए जाने वाले जार फ़ाइल नामों को सूचीबद्ध किया है।

  • jaxrs-ri-2.17jaxrs-riapi
  • jaxrs-ri-2.17jaxrs-riext
  • jaxrs-ri-2.17jaxrs-rilib

अपने प्रोजेक्ट में उल्लिखित उपरोक्त जार फ़ाइलों को जोड़ने के लिए, अपने प्रोजेक्ट पर राइट-क्लिक करें, फर्स्टरेस्टउदाहरण . बिल्ड पाथ ऑप्शन पर क्लिक करें और फिर कॉन्फिगर बिल्ड पाथ पर जाएं। यहां, आपको जावा बिल्ड पथ प्रदर्शित करने वाली विंडो दिखाई देगी। इसके अतिरिक्त, आप लाइब्रेरी मेनू के अंतर्गत जार जोड़ें बटन देखेंगे। वेब-आईएनएफ/lib निर्देशिका में जार फ़ाइलें जोड़ें।

चरण 3: स्रोत फ़ाइलें बनाएँ

हमने अपना प्रोजेक्ट बनाया है, जिसका नाम FirstRestExample है, एक्लिप्स आईडीई में। अब, हमें इस प्रोजेक्ट के लिए सोर्स फाइल्स बनानी होंगी। स्रोत फ़ाइलें बनाने के लिए, हमें पहले एक पैकेज बनाना होगा, जैसे com.restexample। पैकेज एक्सप्लोरर में जाएं और src विकल्प पर राइट-क्लिक करें। आपको नया विकल्प मिलेगा। उस पर क्लिक करें और बाद में पैकेज विकल्प पर क्लिक करें।

यहां आपको com.restexample पैकेज के तहत तीन अलग-अलग फाइलें बनाने की जरूरत है। आइए फाइलों को EmployeeService.java, Employee.java, और EmployeeDao.java नाम दें। तीन फाइलों में, आपने com.restexmaple पैकेज के तहत बनाया है, और आपको कोड लिखना होगा। हम पहले Employee.java फाइल में कोड लिखेंगे।

कर्मचारी.जावा

|_+_|

कर्मचारीदाओ.जावा

|_+_|

कर्मचारी सेवा.जावा

|_+_|

उपरोक्त कर्मचारी सेवा.जावा फ़ाइल में, आपको याद रखना चाहिए कि हमने वेब सेवा के लिए पथ निर्दिष्ट करने के लिए एनोटेशन @Path का उपयोग किया है। इसके अतिरिक्त, हमने @Path एनोटेशन का उपयोग करके विशिष्ट वेब सेवा पद्धति के लिए एक पथ भी स्थापित किया है।

चरण 4: Web.xml फ़ाइल बनाएँ

अंत में, हमें Web.xml फाइल बनानी होगी। Web.xml फ़ाइल का प्राथमिक उद्देश्य विकसित किए जा रहे एप्लिकेशन के लिए जर्सी फ्रेमवर्क सर्वलेट असाइन करना है।

वेब.एक्सएमएल

|_+_|

Step5: प्रोग्राम को कंपाइल और रन करें

उपरोक्त सभी चार फाइलों को लिखने के बाद, अब आप एड रन प्रोग्राम को कंपाइल करने के लिए तैयार हैं। उपरोक्त सभी प्रोग्राम लिखने के लिए हमने एक्लिप्स आईडीई का उपयोग किया है। इसलिए हमें उपरोक्त एप्लिकेशन को युद्ध फ़ाइल में निर्यात करने की आवश्यकता है। बाद में, हमें इस युद्ध फ़ाइल को टॉमकैट अपाचे टूल में संकलित और चलाना होगा।

हम नीचे दिखाएंगे कि एक्लिप्स आईडीई में युद्ध फ़ाइल कैसे बनाएं।

  • एक्लिप्स आईडीई पर फाइल ऑप्शन पर जाएं, एक्सपोर्ट -> वी -> वॉर फाइल पर क्लिक करें। वहां आपको अपना प्रोजेक्ट चुनना है फर्स्टरेस्टउदाहरण और लक्ष्य फ़ोल्डर।
  • बाद में, आपको इसमें FirstRestExample.war फ़ाइल ढूंढनी होगी टॉमकैट स्थापना निर्देशिका विकल्प का वेबएप्स निर्देशिका . और टॉमकैट एप्लिकेशन शुरू करें।

टॉमकैट की वेबएप निर्देशिका में युद्ध फ़ाइल रखने के बाद, आप अपना आवेदन चला सकते हैं। हम क्रोम एक्सटेंशन का उपयोग करेंगे, डाकिया , हमारे अनुप्रयोगों के परीक्षण के लिए। अगला कदम सभी कर्मचारियों को POSTMAN में रखना है। इस उद्देश्य के लिए, कोड की निम्न पंक्ति का उपयोग करें

|_+_|

टॉमकैट अपाचे में कोड की उपरोक्त पंक्ति का उपयोग करने के लिए, HTTP GET विधि का उपयोग करें। यहां आपका पहला वेब सेवा एप्लिकेशन तैयार है।

रेस्टफुल वेब सर्विस एपीआई में संदेश

RESTful API में, क्लाइंट और सर्वर HTTP प्रोटोकॉल का उपयोग करके एक दूसरे के साथ संवाद करते हैं। संचार तब होता है जब क्लाइंट सर्वर को HTTP अनुरोध भेजता है, और सर्वर क्लाइंट को HTTP प्रतिक्रिया के साथ जवाब देता है। HTTP प्रोटोकॉल का उपयोग करने वाले क्लाइंट और सर्वर के बीच संचार को मैसेजिंग कहा जाता है। एक एकल HTTP संदेश में संदेश डेटा और मेटाडेटा होता है। मेटाडेटा संदेश जानकारी है।

अब, हम RESTful वेब सेवा API में HTTP अनुरोध और HTTP प्रतिक्रिया को देखते हैं।

HTTP अनुरोध

क्लाइंट सर्वर के लिए एक HTTP अनुरोध को निर्देशित करता है। यह सर्वर से संसाधनों का अनुरोध करता है। HTTP रिक्वेस्ट, वर्ब, यूआरआई, एचटीटीपी वर्जन, रिक्वेस्ट हैडर और रिक्वेस्ट बॉडी में पांच प्राथमिक भाग शामिल हैं। निम्नलिखित एक HTTP अनुरोध प्रारूप है।

RESTful

आइए हम संक्षेप में HTTP अनुरोध के प्रत्येक भाग का वर्णन करें।

    क्रिया:HTTP अनुरोध में एक क्रिया का तात्पर्य चार HTTP विधियों, GET, POST, PUT और DELETE से है।यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI):HTTP अनुरोध का अगला भाग यूनिफ़ॉर्म रिक्वेस्ट आइडेंटिफ़ायर (URI) है। एक यूआरआई प्रत्येक संसाधन की विशिष्ट रूप से पहचान करता है।HTTP संस्करण:HTTP अनुरोध का तीसरा भाग एक HTTP संस्करण है। उदाहरण के लिए, HTTP v1.1, जहां v1.1 एक संस्करण है।अनुरोध हैडर:अनुरोध शीर्षलेख में संदेश का मेटाडेटा होता है। अनुरोध हैडर में मेटाडेटा की-वैल्यू पेयर में मौजूद होता है। यह क्लाइंट प्रकार, कैश सेटिंग्स, संदेश प्रारूप आदि जैसी जानकारी एकत्र कर सकता है।अनुरोध निकाय:HTTP अनुरोध में अनुरोध निकाय का तात्पर्य संसाधन के प्रतिनिधित्व से है।

HTTP प्रतिक्रिया

जब सर्वर क्लाइंट से HTTP अनुरोध प्राप्त करता है, तो यह क्लाइंट को HTTP प्रतिक्रिया के साथ उत्तर देता है। एक HTTP प्रतिक्रिया में चार महत्वपूर्ण भाग शामिल हैं, प्रतिक्रिया कोड, HTTP संस्करण, प्रतिक्रिया शीर्षलेख, और प्रतिक्रिया निकाय। नीचे एक HTTP प्रतिक्रिया प्रारूप है।

img 617dd1cb36593

आइए हम यहां प्रत्येक HTTP प्रतिक्रिया भाग पर चर्चा करें।

    प्रतिसाद कोड:

प्रतिक्रिया कोड को स्थिति के रूप में भी जाना जाता है। जब क्लाइंट सर्वर से संसाधन का अनुरोध करता है, तो प्रतिक्रिया कोड उसकी स्थिति दिखाता है। यदि स्थिति 404 है, तो संसाधन नहीं मिला। यदि प्रतिक्रिया ठीक है, तो स्थिति 200 है।

    HTTP संस्करण:

HTTP प्रतिक्रिया का दूसरा भाग एक HTTP संस्करण है। उदाहरण के लिए, HTTP v1.1, जहां v1.1 एक संस्करण है।

    प्रतिक्रिया शीर्षलेख:

हेडर में की-वैल्यू पेयर के रूप में HTTP रिस्पांस मैसेज का मेटाडेटा होता है। इसमें सर्वर प्रकार, सामग्री की लंबाई, प्रतिक्रिया डेटा आदि जैसी जानकारी हो सकती है।

    प्रतिक्रिया निकाय:

रिस्पांस बॉडी में संसाधन का प्रतिनिधित्व शामिल है।

RESTful वेब सेवा API के उपरोक्त उदाहरण में, हमने रखा है http://localhost:8080/FirstRestउदाहरण/बाकी/कर्मचारी सेवा/कर्मचारी .

पोस्टमैन में, HTTP GET विधि का उपयोग करते हुए। जब अनुरोध GET विधि का उपयोग करके भेजा जाता है, तो हमें निम्नानुसार एक XML संदेश प्राप्त होगा। XML प्रतिक्रिया देखने के लिए, आपको पूर्वावलोकन बटन पर क्लिक करना होगा।

|_+_|

रेस्टफुल वेब सर्विस एपीआई में संसाधन

RESTful वेब सेवा API में, प्रत्येक सामग्री को एक संसाधन के रूप में माना जाता है। क्लाइंट संसाधन का अनुरोध करता है, और सर्वर क्लाइंट द्वारा अनुरोधित किसी विशेष संसाधन तक पहुंच प्रदान करता है। एक्सेस देने के बाद, क्लाइंट संसाधन को संशोधित या बदल सकता है। संसाधन HTML पृष्ठ, छवियाँ, पाठ फ़ाइलें या व्यावसायिक डेटा हो सकता है।

REST आर्किटेक्चर में प्रत्येक संसाधन के लिए एक अद्वितीय संख्या होती है। इस अद्वितीय संख्या को यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) कहा जाता है। आम तौर पर, आरईएसटी आर्किटेक्चर में संसाधन एक्सएमएल या जेएसओएन प्रारूप का उपयोग करके दर्शाया जाता है। आइए अब REST आर्किटेक्चर में संसाधनों के प्रतिनिधित्व को देखें।

आरईएसटी वास्तुकला में संसाधन प्रतिनिधित्व

आरईएसटी आर्किटेक्चर में संसाधनों को एक्सएमएल या जेएसओएन प्रारूपों में दर्शाया जाता है। आप REST संसाधन को डेटाबेस में एक इकाई के रूप में या ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में एक ऑब्जेक्ट के रूप में मान सकते हैं। सबसे पहले, संसाधन की पहचान उसके यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) का उपयोग करके की जाती है। बाद में, संसाधन का प्रतिनिधित्व करने के लिए मानक प्रारूप तय किया जाता है। जब क्लाइंट संसाधन का अनुरोध करता है, तो सर्वर क्लाइंट द्वारा निर्दिष्ट प्रपत्र में संसाधन को अग्रेषित करता है।

हमारे उपरोक्त रीस्टफुल उदाहरण में, हमारे पास संसाधन के रूप में एक 'कर्मचारी' है। आइए देखें कि XML फॉर्म का उपयोग करके एक 'कर्मचारी' संसाधन का प्रतिनिधित्व कैसे किया जाता है।

|_+_|

अब, हम उसी 'कर्मचारी' संसाधन को JSON फॉर्म में चित्रित करेंगे।

|_+_|

आरईएसटी आर्किटेक्चर में, आप किसी भी प्रारूप में संसाधनों का प्रतिनिधित्व कर सकते हैं। रेस्टफुल वेब सेवा एपीआई में ऐसे मामले हैं जहां एक क्लाइंट एक्सएमएल फॉर्म में संसाधन का अनुरोध करता है जबकि दूसरा क्लाइंट जेएसओएन फॉर्म में उसी संसाधन का अनुरोध करता है। संसाधन प्रतिनिधित्व में एकमात्र महत्वपूर्ण बात यह है कि इसे इस तरह के प्रारूप में दर्शाया जाना चाहिए कि ग्राहक इसे समझ सके।

जब किसी भी प्रारूप में संसाधन का प्रतिनिधित्व किया जाता है, तो विचार करने के लिए कुछ पूर्वापेक्षाएँ होती हैं। संसाधन प्रारूप समझने योग्य, पूर्ण और लिंक करने योग्य होना चाहिए। आरईएसटी आर्किटेक्चर में क्लाइंट और सर्वर को संसाधन प्रतिनिधित्व प्रारूप को जल्दी से स्वीकार करना चाहिए। संसाधन का प्रतिनिधित्व करने के लिए आप जो भी रूप चुनते हैं, उसे संपूर्ण संसाधन जानकारी प्रदान करनी चाहिए। संसाधन प्रतिनिधित्व प्रारूप को किसी अन्य संसाधन के लिंक की अनुमति देनी चाहिए।

अधिकांश डेवलपर्स REST आर्किटेक्चर में संसाधन का प्रतिनिधित्व करने के लिए JSON या XML फॉर्म का उपयोग करते हैं। JSON या XML डेटा को संशोधित करने के लिए आज कई टूल उपलब्ध हैं।

रेस्टफुल वेब सर्विस एपीआई में संबोधित करना

आरईएसटी आर्किटेक्चर में संबोधित करने का तात्पर्य सर्वर पर मौजूद संसाधनों का पता लगाना है। हम जानते हैं कि संसाधनों की पहचान उनके यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (यूआरआई) द्वारा की जाती है। यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर का प्रारूप इस प्रकार है:

:////

यूआरआई सर्वर पर एक विशेष संसाधन का पता लगाता है। हमारे उपरोक्त उदाहरण में, यूआरआई है

|_+_|

हमने उपरोक्त URI के लिए HTTP GET विधि का उपयोग किया है।

आप सोच रहे होंगे कि URI कैसे उत्पन्न होता है। आरईएसटी आर्किटेक्चर में किसी भी संसाधन के लिए यूआरआई बनाने में हम आपको कुछ सरल नियमों के साथ मार्गदर्शन करेंगे।

  1. जब आप अपनी वेब सेवाओं में संसाधनों को परिभाषित करते हैं, तो हमेशा बहुवचन रूप का उपयोग करें। उपरोक्त रीस्टफुल वेब एप्लिकेशन उदाहरण में, हमने एक संसाधन 'उपयोगकर्ता' बनाया है।
  2. आपको यह सुनिश्चित करना चाहिए कि आपके संसाधन नाम में कोई रिक्त स्थान या विशेष प्रतीक नहीं होना चाहिए, जैसे %, $, @, आदि। आप संसाधन नाम में एक हाइफ़न (-) या अंडरस्कोर (_) का उपयोग कर सकते हैं। उदाहरण के लिए, सही संसाधन का नाम है इफेक्टिव_कर्मचारी न कि प्रभावी@कर्मचारी।
  3. RESTful वेब सेवा में, URI केस-संवेदी होते हैं। लेकिन, यूआरआई को लोअर केस में रखना हमेशा बेहतर होता है।
  4. सुनिश्चित करें कि आप संसाधनों पर संचालन करने के लिए किसी भी HTTP क्रिया या विधियों का उपयोग करते हैं। उपरोक्त RESTful एप्लिकेशन में, हमने HTTP GET विधि का उपयोग किया है।
  5. यूआरआई को सार्वजनिक रूप से प्रकाशित किया जाना चाहिए, क्योंकि वेब सेवाएं सार्वजनिक सेवाएं हैं।

आइए एक कर्मचारी को लाने के लिए अच्छे और खराब यूआरआई का एक उदाहरण देखें।

गरीब उरी

|_+_|

अच्छा उरी

|_+_|

जावा (JAX-RS) RESTful वेब सेवा API में

JAX-आरएस तात्पर्य जकार्ता रेस्टफुल वेब सर्विसेज से है। पहले इसे RESTful Web Services के लिए Java API के नाम से जाना जाता था। जेएक्स-आरएस एक जावा-आधारित एपीआई है जो उपयोगकर्ताओं को आरईएसटी आर्किटेक्चर के आधार पर वेब सेवाएं बनाने में सक्षम बनाता है। नवीनतम जेएक्स-आरएस संस्करण 2.0 है, जिसे 2013 में जारी किया गया था। यह जावा-आधारित एपीआई जावा एसई 5 से एनोटेशन का उपयोग करता है, जिससे वेब सेवाओं का विकास और तैनाती अधिक प्रबंधनीय हो जाती है।

जेएक्स-आरएस निर्दिष्टीकरण

किसी संसाधन को वेब सेवा संसाधन के रूप में मैप करने के लिए आमतौर पर उपयोग किए जाने वाले कुछ एनोटेशन निम्नलिखित हैं।

    @प्राप्त:JAX-RS के इस विनिर्देशन का उपयोग संसाधन लाने के लिए किया जाता है।@पथ:@Path का तात्पर्य वेब सेवा में शामिल वर्ग या विधि के पथ से है।@ हटाएं:@DELETE संसाधन किसी विशेष संसाधन को हटा देता है।@पद:JAX-RS में उपरोक्त विनिर्देश एक नया संसाधन बनाता है।@रखना:यह JAX-RS विनिर्देश किसी मौजूदा संसाधन को अद्यतन करने के लिए उपयोग किया जाता है।@उपभोग:@Consumes JAX-RS विनिर्देश HTTP अनुरोध के प्रकार का प्रतिनिधित्व करता है।@सिर:JAX-RS में एक अन्य HTTP विधि @HEAD है, जो इस बारे में जानकारी प्रदान करती है कि विधि उपलब्ध है या नहीं।@QueryParam:उपरोक्त विनिर्देश का उपयोग क्वेरी पैरामीटर और विधि में पारित पैरामीटर को संयोजित करने के लिए किया जाता है।@उत्पादन:@Produces विनिर्देश HTTP प्रतिक्रिया के प्रकार को प्रदर्शित करता है।@PathParam:उपरोक्त JAX-RS विनिर्देश का उपयोग पथ मान को विधि में पारित पैरामीटर के साथ संयोजित करने के लिए किया जाता है।@कुकीपरम:@CookieParam विधि में पारित पैरामीटर के साथ एक कुकी को जोड़ती है।@MatrixParam:यह जेएक्स-आरएस विनिर्देश HTTP मैट्रिक्स पैरामीटर को विधि में पारित पैरामीटर के साथ जोड़ता है।@फॉर्मपरम:प्रपत्र मान को @FormParam का उपयोग करके विधि में पारित पैरामीटर के साथ जोड़ा जाता है।@ हैडरपरम:HTTP शीर्षलेख @HeaderParam का उपयोग करके विधि को पारित पैरामीटर के साथ बाध्य है।@संदर्भ:@Context का तात्पर्य संसाधन संदर्भ से है।@डिफ़ॉल्ट मान:उपरोक्त JAX-RS विनिर्देश विधि को दिए गए पैरामीटर को डिफ़ॉल्ट मान के साथ निर्दिष्ट करता है।

स्टेटलेसनेस और कैशिंग द रेस्टफुल वेब सर्विस एपीआई

स्टेटलेसनेस

स्टेटलेसनेस का मतलब है कि क्लाइंट की स्थिति सर्वर पर मौजूद नहीं होनी चाहिए। क्लाइंट सर्वर को अपना संदर्भ भेजता है। क्लाइंट से संदर्भ प्राप्त होने पर, सर्वर संदर्भ को संग्रहीत करता है और क्लाइंट के आगे के अनुरोधों के लिए इसका उपयोग करता है। उदाहरण के लिए, क्लाइंट सर्वर को सत्र पहचानकर्ता भेजता है। इसलिए, सर्वर इसे सत्रों की पहचान के लिए रखता है।

पेशेवरों:

नीचे RESTful वेब सेवा API में स्टेटलेसनेस के कुछ महत्वपूर्ण लाभ दिए गए हैं।

  • स्टेटलेसनेस संपत्ति का उपयोग करते हुए, वेब सेवा प्रत्येक विधि अनुरोध को व्यक्तिगत रूप से संसाधित करती है।
  • सर्वर क्लाइंट की स्थिति या पिछले संचालन को नहीं रखता है। इसलिए, यह एप्लिकेशन डिज़ाइन को और अधिक सरल बनाता है।
  • RESTful वेब सेवाएँ वस्तुतः HTTP प्रोटोकॉल पर प्रक्रिया करती हैं।

दोष:

  • चूंकि सर्वर में क्लाइंट की स्थिति नहीं होती है, इसलिए वेब सेवा को क्लाइंट के प्रत्येक अनुरोध से अधिक डेटा की आवश्यकता होती है।

कैशिंग

क्लाइंट प्रतिक्रिया के संदर्भ में सर्वर से कुछ संसाधन रखता है। इसलिए, क्लाइंट को एक ही संसाधन के लिए बार-बार सर्वर से अनुरोध करने की आवश्यकता नहीं है। इसे कैशिंग कहा जाता है। सर्वर द्वारा पेश किए गए किसी विशेष संसाधन की कैशिंग जानकारी के आधार पर, क्लाइंट यह तय करता है कि संसाधन को विशिष्ट समय के लिए कैश करना है या इसे कभी कैश नहीं करना है।

एक कैश-कंट्रोल हेडर है जिसमें पांच महत्वपूर्ण भाग होते हैं, सार्वजनिक, निजी, अधिकतम आयु, नो-कैश/नो-स्टोर, और जरूरी-पुनरीक्षित। आइए नीचे प्रत्येक भाग का विवरण देखें।

    जनता:कोई भी घटक सार्वजनिक संसाधन को कैश कर सकता है।निजी:किसी को भी संसाधन को कैश करने की अनुमति नहीं है। केवल क्लाइंट और सर्वर ही संसाधन को कैश कर सकते हैं।अधिकतम आयु:अधिकतम आयु तत्व की गणना सेकंड में की जाती है। इसका तात्पर्य है कि संसाधन का कैशिंग कितने सेकंड तक वैध है। एक बार अधिकतम-आयु का समय समाप्त होने के बाद, क्लाइंट को फिर से संसाधन का अनुरोध करना होगा।नो-कैश/नो-स्टोर:क्लाइंट संसाधन को कैश नहीं कर सकता।अनिवार्य रूप से पुन: सत्यापित करना:कैशिंग के लिए अधिकतम आयु समय समाप्त होने पर सर्वर को संसाधन को फिर से सत्यापित करना होगा।

क्लाइंट के कैश को कॉन्फ़िगर करने के लिए, सर्वर प्रतिक्रिया में निम्नलिखित शीर्षलेख शामिल हैं:

    दिनांक:संसाधन निर्माण दिनांक और समय दिनांक शीर्षलेख में दर्शाए गए हैं।कैश-नियंत्रण:कैश-कंट्रोल हेडर कैशिंग की निगरानी करता है।उम्र:सेकंड में उम्र का प्रतिनिधित्व किया जाता है। यह वह समय है जब सर्वर से संसाधन प्राप्त होता है।अंतिम बार संशोधित:यह शीर्षलेख उस दिनांक और समय को प्रदर्शित करता है जब संसाधन को अंतिम बार अद्यतन किया गया था।समाप्त हो रहा है:यह हेडर कैशिंग की समाप्ति तिथि और समय को दर्शाता है।

RESTful API में HTTP तरीके और उनके संचालन

पिछले खंड में, हमने HTTP विधियों और उनके उपयोगों को देखा है। यह खंड आरईएसटी आर्किटेक्चर में एचटीटीपीएस विधियों, उनके संचालन और संचालन प्रकार का निरीक्षण करेगा।

    प्राप्त:

उपरोक्त RESTful एप्लिकेशन उदाहरण में GET HTTP विधि का उपयोग कर्मचारियों की सूची प्राप्त करने के लिए किया जाता है। हमने नीचे के रूप में GET विधि के लिए URI का उपयोग किया है:

|_+_|

HTTP GET विधि कर्मचारियों की सूची प्राप्त करती है। इसलिए, इसमें केवल-पढ़ने के लिए ऑपरेशन प्रकार है।

हम Id 1 कर्मचारी को पुनः प्राप्त करने के लिए GET पद्धति का भी उपयोग कर सकते हैं। Id 1 कर्मचारी को पुनः प्राप्त करने के लिए URI है,

|_+_|

यह ऑपरेशन भी केवल-पढ़ने के प्रकार का है।

    पद:

हमारे RESTful एप्लिकेशन उदाहरण में, हमने Id 2 वाले कर्मचारी को सम्मिलित करने के लिए HTTP POST पद्धति का उपयोग किया है। Id 2 के लिए कर्मचारी को सम्मिलित करने के लिए URI है,

|_+_|

उपरोक्त ऑपरेशन प्रकार गैर-बेवकूफ है।

    हटाएं:

हम Id 1 वाले कर्मचारी को हटाने के लिए HTTP DELETE पद्धति का उपयोग कर सकते हैं। नीचे Id 1 वाले कर्मचारी को हटाने के लिए URI है।

|_+_|

DELETE ऑपरेशन idempotent प्रकार का है।

    सिर:

REST आर्किटेक्चर में HEAD विधि का उपयोग HTTP हेडर को वापस करने के लिए किया जाता है। यह HTTP बॉडी प्रदान नहीं करता है। हमारे उपरोक्त कर्मचारी उदाहरण के लिए, हम नीचे दिए गए यूआरआई का उपयोग कर सकते हैं।

|_+_|

यह ऑपरेशन केवल-पढ़ने के प्रकार का है।

    रखना:

उपरोक्त REST कर्मचारी एप्लिकेशन में, हम कर्मचारी को Id 2 से अपडेट करने के लिए HTTP PUT विधि का उपयोग कर सकते हैं। कर्मचारी को Id 2 से अपडेट करने के लिए नीचे दिए गए URI का उपयोग करें।

|_+_|
    विकल्प:

HTTP विकल्प विधियाँ आपको वेब सेवा में समर्थित सभी कार्यों को सूचीबद्ध करने में सक्षम बनाती हैं। आप इस ऑपरेशन के लिए निम्न यूआरआई का उपयोग कर सकते हैं।

|_+_|

विकल्प ऑपरेशन केवल-पढ़ने के प्रकार का है।

उपरोक्त HTTP विधियों और उनके संचालन से, हम यह निष्कर्ष निकाल सकते हैं कि GET ऑपरेशन केवल-पढ़ने के लिए प्रकार है। DELETE और PUT ऑपरेशन एक निष्क्रिय प्रकार के होते हैं। इन दोनों क्रियाओं का परिणाम एक ही रहता है, भले ही उन्हें कई बार किया गया हो।

निष्कर्ष

RESTful API एक REST आर्किटेक्चर-आधारित API है जो डेटा तक पहुँचने और व्यवस्थित करने के लिए HTTP विधियों का उपयोग करता है। REST आर्किटेक्चर में प्रत्येक डेटा को एक संसाधन माना जाता है। यदि आप RESTful API सीखना चाहते हैं, तो यह पोस्ट आपके लिए एक संपूर्ण मार्गदर्शिका है।

हमने देखा है कि RESTful वेब सेवा API क्या है, यह कैसे काम करता है, REST आर्किटेक्चर में उपयोग की जाने वाली HTTP विधियाँ, और REST आर्किटेक्चर के गुण और बाधाएं। बाद में, हमने RESTful API के लिए परिवेश सेट-अप को दर्शाया है। RESTful API वातावरण सेट-अप में, हमने JDK वातावरण, Tomcat Apache, ग्रहण आईडीई और जर्सी फ्रेमवर्क स्थापित किया है। आप इस ट्यूटोरियल में सरल RESTful एप्लिकेशन उदाहरण देख सकते हैं।

इसके बाद, हमने RESTful वेब सेवा API में कई तत्वों को शामिल किया है, जैसे संदेश, स्टेटलेसनेस, कैशिंग, संसाधन और एड्रेसिंग। हमने इस पर भी चर्चा की है जावा जेएक्स-आरएस और इसके विनिर्देश। अंत में, हमने HTTP विधियों और उनके संचालन को URI और ऑपरेशन प्रकार के साथ देखा है।