rest api tutorial rest api architecture
इस ट्यूटोरियल में, हम REST API, Web Services, Architecture of REST API, REST API बाधाओं और POSTMAN का उपयोग करके API का परीक्षण कैसे करें के बारे में जानेंगे:
पूर्व आवश्यक वस्तुएँ: वेब सेवाओं का मूल ज्ञान।
जाँच यहां वेब सेवाओं की स्पष्ट समझ पाने के लिए।
आप क्या सीखेंगे:
REST API क्या है?
एपीआई बस एक इंटरफेस है, जो सॉफ्टवेयर घटकों द्वारा एक दूसरे के साथ संवाद करने के लिए उपयोग किया जाता है। एक सेवा एक फ़ंक्शन है जो अच्छी तरह से परिभाषित है, स्व-निहित है और किसी अन्य सेवाओं पर निर्भर नहीं करता है।
एक वेब सेवा एक प्रकार का एपीआई है, लगभग सभी HTTP पर काम करते हैं। जब एक वेब एपीआई को REST आर्किटेक्चर का उपयोग करके विकसित किया जाता है तो इसे REST वेब एपीआई कहा जाता है।
अब तक, दो प्रकार की वेब सेवाएँ हैं,
- साबुन
- आराम
सोप और रीस्ट के बीच अंतर
साबुन | आराम |
---|---|
अनुरोध शरीर में डेटा भेजने के लिए हम केवल XML प्रारूप का उपयोग कर सकते हैं | अनुरोध भेजने के लिए हमारे पास XML, JSON आदि प्रारूप हो सकते हैं। |
यह एक प्रोटोकॉल है | यह एक वास्तुकला शैली है और किसी भी प्रोटोकॉल से स्वतंत्र है, REST SOAP वेब सेवाओं का उपयोग कर सकता है |
यह सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल के लिए है | यह प्रतिनिधि राज्य हस्तांतरण के लिए खड़ा है |
यह व्यावसायिक तर्क को उजागर करने के लिए सेवा इंटरफेस का उपयोग करता है। | व्यावसायिक तर्क को उजागर करने के लिए यह URI का उपयोग करता है। |
SOAP का पालन करने के लिए एक सख्त मानक है। | आरईएसटी द्वारा पालन किए जाने के लिए ऐसा कोई सख्त मानक नहीं है। हालांकि, REST का उपयोग करके वेब सेवा विकसित करते समय उपयोगकर्ता कुछ मानकों का पालन कर सकता है। |
इसके लिए अधिक बैंडविड्थ की आवश्यकता होती है। | यह हल्का होता है। |
यह अपनी सुरक्षा को परिभाषित कर सकता है। | REST को परिवहन से सुरक्षा उपाय विरासत में मिलते हैं। |
सबसे अच्छा उदाहरण Google, AMAZON है | सबसे अच्छा उदाहरण YAHOO, LINKEDIN, AMAZON है |
SOAP HTTP, SMTP आदि प्रोटोकॉल का उपयोग करता है | REST केवल HTTP पर निर्भर है। |
संदेश, संचालन, आदि के बंधन के नियम WSDL में लिखे गए हैं | वेब सेवाओं द्वारा दी जाने वाली कार्यक्षमता का वर्णन करने के लिए REST WADL प्रारूप का अनुसरण करता है |
यह मानकीकृत है। | अन्य सेवाएं गैर-मानकीकृत हैं। |
इसके मौजूदा नियमों, बाध्यकारी आदि के कारण इसे सीखने के लिए अधिक समय की आवश्यकता होती है। | इसकी सरलता के कारण इसे सीखने के लिए कम समय की आवश्यकता होती है। |
SOAP से अधिक क्यों चुनें?
नीचे दिए गए बिंदु SOAP पर REST चुनने के कारणों की व्याख्या करते हैं।
- यह वेब एपीआई के विकास और परीक्षण के लिए बहुत अच्छा है।
- REST को कम बैंडविड्थ की आवश्यकता होती है।
- हम AJAX को REST- आधारित वेब APIs के लिए उपयोग कर सकते हैं।
- इसके लिए ओवरहेडिंग को कम करने की आवश्यकता होती है।
- JSON द्वारा बनाया गया पेलोड आकार में कम है।
वेब पर कई क्लाइंट / टूल उपलब्ध हैं, जो हमें रेस्टफुल वेब सेवाओं का उपभोग करने में सक्षम बनाते हैं।
वे:
- डाकिया
- एडवांस्ड रेस्ट क्लाइंट
- डीएचसी रेस्ट क्लाइंट
- अनुरोधकर्ता
- अनिद्रा
- मुखर
- पोस्टर
पोस्टमैन क्यों?
- यह सभी उपलब्ध विकल्पों को प्रदर्शित करता है।
- पोस्टमैन में एक अतिरिक्त विशेषता है (जिसे रनर के रूप में जाना जाता है)।
- उपयोगकर्ता के अनुकूल यूआई और प्रयोग करने में आसान।
- बड़ा समुदाय समूह / सदस्य।
बाकी एपीआई वास्तुकला
यह मुख्य रूप से एक सॉफ्टवेयर वास्तुकला शैली में वेब की वास्तुकला है। यह वितरित हाइपरमीडिया सिस्टम के लिए है। Restful API सीधे RFC 2616 प्रोटोकॉल द्वारा परिभाषित HTTP कार्यप्रणाली का लाभ उठाता है।
कुछ परिभाषाएँ
आग एप्लीकेशन प्रोग्रामिंग इंटरफेस के लिए खड़ा है। यह एप्लिकेशन सॉफ़्टवेयर के निर्माण के लिए सबरूटीन परिभाषाओं, प्रोटोकॉल और उपकरणों का एक सेट है।
वेब सेवाएं कुछ प्रोग्राम कोड होते हैं जिनमें डेटा / इनबिल्ट तरीके होते हैं। इन्टरनेट पर संगठन द्वारा उपयोगकर्ताओं, तीसरे पक्ष के अनुप्रयोगों आदि के साथ संवाद करने के लिए तैनात किया जाता है। संदेशों को संप्रेषित करने के लिए, ज्यादातर XML का उपयोग एक संदेश प्रणाली के रूप में किया जाता है। एक्सएमएल केवल उपयोगकर्ताओं और अनुप्रयोगों के बीच सभी संचार को एन्कोड करता है।
एचटीटीपी हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल, जिसका उपयोग वर्ल्ड वाइड वेब द्वारा किया जाता है। यह परिभाषित करता है कि संदेश कैसे स्वरूपित और प्रसारित किए जाते हैं, और विभिन्न आदेशों के जवाब में वेब सर्वर और ब्राउज़र क्या कार्रवाई करते हैं।
वास्तुशिल्पीय शैली, ये उन विशेषताओं की विशेषता है जिनका उपयोग संरचना बनाने और यहां तक कि इसे विशिष्ट बनाने के लिए किया जाता है। शैलियाँ दो प्रकार की होती हैं: लेयर्ड और यूनिफ़ॉर्म इंटरफ़ेस।
नफरत : इसे यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर के रूप में भी जाना जाता है। यह एक संसाधन (पाठ दस्तावेज़, छवि फ़ाइल, आदि) की पहचान करता है।
URL: जिसे यूनिफ़ॉर्म रिसोर्स लोकेटर के रूप में भी जाना जाता है। यह यूआरआई का एक सबसेट है, जिसमें एक नेटवर्क स्थान शामिल है।
कलश : इसे यूनिफ़ॉर्म रिसोर्स नाम के रूप में भी जाना जाता है, जो यूआरआई का एक सबसेट है, जिसमें दिए गए स्थान के भीतर एक नाम शामिल है, लेकिन कोई स्थान नहीं है।
उदाहरण के लिए,
http://elearning.com/amazon/restapi.html#books
यहाँ, उपरोक्त उदाहरण में
नफरत : http://elearning.com/amazon/restapi.html#posts
यूआरएल : http://elearning.com/amazon/restapi.html
कलश : elearning.com/amazon/restapi.html#posts
वहाँ Xbox एक के लिए वी.आर.
इसलिए एक URL एक यूआरआई है जो एक संसाधन की पहचान करता है और इसे एक्सेस करने के तरीके का वर्णन करके संसाधन का पता लगाने का साधन भी प्रदान करता है।
तो हर URL URI हो सकता है लेकिन रिवर्स सच नहीं है।
एक RESTful सेवा एक समान संसाधन लोकेटर (URL) के माध्यम से सामने आती है। यह एक तार्किक नाम है जो संसाधन की पहचान को स्वीकार या लौटाए गए से अलग करता है।
एक नमूना बाकी वास्तुकला:
बाकी एपीआई बाधाओं
एक API इंटरफ़ेस को RESTful कहा जाता है यदि यह निम्नलिखित बाधाओं को पूरा करता है:
- यूनिफ़ॉर्म इंटरफ़ेस: इसका मतलब है, हम चाहे जितने भी क्लाइंट का इस्तेमाल कर रहे हों, REST सेवाओं को लागू करने और इस्तेमाल करने की मूल अवधारणा एक जैसी ही रहेगी। सभी REST API के विकास के लिए एक सामान्य दृष्टिकोण होना चाहिए।
- स्टेटलेस: इसका मतलब है कि कोई सत्र संग्रहीत नहीं किया जाएगा। इसलिए, सर्वर क्लाइंट द्वारा भेजे गए किसी भी HTTP अनुरोध को संग्रहीत नहीं करेगा। इसलिए एक सर्वर के लिए, प्रत्येक और हर HTTP अनुरोध एक नया अनुरोध है। कोई फर्क नहीं पड़ता, कितनी बार अनुरोध किया जाता है या ग्राहक अद्वितीय है या नहीं।
- उपलब्ध: कैशिंग का अर्थ है कि सर्वर के बजाय कैश से लगातार डेटा और प्रतिक्रियाएं कैसे एक्सेस की जा रही हैं। क्लाइंट अनुरोध भेजते समय कैशिंग की अवधारणा लागू होती है। तो क्लाइंट-साइड पर प्रदर्शन में सुधार किया जाता है।
- ग्राहक सर्वर: सर्वर और ग्राहक कार्यान्वयन के संदर्भ में एक दूसरे से स्वतंत्र हैं। एक ग्राहक को केवल अनुरोध URI को या प्रमाणीकरण के बिना भेजने की आवश्यकता है। फिर सर्वर बाकी कदम उठाता है, जो एक प्रतिक्रिया है।
- स्तरित प्रणाली: क्लाइंट केवल सर्वर को संसाधन URI के रूप में अनुरोध भेज सकता है। लेकिन फिर, सर्वर को भेजे जाने के अनुरोध से पहले, REST API मौजूद है, जो हमें स्तरित सिस्टम आर्किटेक्चर प्रदान करता है। इसका मतलब है, हमारे पास एक सर्वर में तैनात एपीआई हो सकता है, डेटा को दूसरे सर्वर में और दूसरे सर्वर में प्रमाणीकरण के लिए तैनात किया जा सकता है।
- कोड ऑन डिमांड (वैकल्पिक): कभी-कभी एक ग्राहक को केवल प्रतिक्रिया से अधिक की आवश्यकता हो सकती है। REST API हमें एक निष्पादन योग्य कोड को एक प्रतिक्रिया के रूप में भेजने की अनुमति देता है (यह निष्पादन योग्य कोड एक विजेट या कोई भी नियंत्रण हो सकता है)। हालाँकि, यह पूरी तरह से वैकल्पिक है कि क्या हमने इस सुविधा को सक्षम / कार्यान्वित किया है।
रेस्ट एपीआई से संबंधित कुछ और शब्दावली:
endpoint : यह एक URL का संदर्भ है जो वेब अनुरोधों को स्वीकार करता है। एक वेब सेवा समापन बिंदु संदर्भ का उपयोग कर पता करने योग्य है।
उदाहरण के लिए, Http: // {Domain_URL} //librarygr/lbooks.xml
साधन : यह समापन बिंदु का सबसेट है। आम तौर पर एंडपॉइंट कुछ वस्तुओं को उजागर करते हैं जो वेब सेवाओं के माध्यम से उपभोग किए जा सकते हैं। संसाधन विशेष रूप से एंडपॉइंट यूआरआई पर एक वस्तु का हिस्सा हैं।
उदाहरण के लिए, Http: // {Domain_URL} // api / pg_library / ornithology / हंस
पेलोड : पेलोड वह सूचना है जो POST या PUT ऑपरेशन करते समय भेजी जाती है। ये HTTP अनुरोध के मुख्य भाग में निर्दिष्ट जानकारी हैं।
पेलोड को JSON प्रारूप में भेजा जाता है, उदाहरण के लिए,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
मापदंडों :
हम दो तरीकों से पैरामीटर पास कर सकते हैं।
क्वेरी पैरामीटर : URL के क्वेरी स्ट्रिंग में कुंजी / मान जोड़े तक पहुंचने के लिए उपयोगी (के बाद का हिस्सा?)
सबसे अच्छा उदाहरण
http://jsonplaceholder.typicode.com/posts/?id=3
पथ पैरामीटर: यह एक पैरामीटर के रूप में URL के एक भाग से मेल खाने के लिए उपयोगी है। हम निम्नलिखित तरीके से पथ पैरामीटर के रूप में जानकारी भेज सकते हैं: फॉर्म-डेटा, x-www-form-urlencoded, कच्चा, बाइनरी।
सबसे अच्छा उदाहरण:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
पोस्टमैन क्या है?
POSTMAN एक REST क्लाइंट है, बस एक ऐप है जो क्रोम ब्राउज़र के साथ आता है। यह डेवलपर्स कॉल को आसान बनाने के लिए डेवलपर्स को ध्यान में रखते हुए विकसित किया जा रहा है। एपीआई अनुरोध भेजने और एपीआई प्रतिक्रियाओं को पढ़ने के लिए इसका अपना जीयूआई है।
हम REST API टेस्टिंग को मैन्युअली और ऑटोमेशन दोनों तरह से कर सकते हैं।
निम्नलिखित अनुभाग में, हम सीखेंगे, POSTMAN क्लाइंट का उपयोग करके मैन्युअल रूप से वेब एपीआई का परीक्षण कैसे करें।
पोस्टमैन के साथ एपीआई का परीक्षण कैसे करें?
इंस्टालेशन
हम तक पहुँचने की जरूरत है क्रोम वेब स्टोर । Chrome ब्राउज़र में Postman की खोज करें। क्लिक यहां इसे क्रोम बटन में जोड़ने के लिए।
एक बार जब यह सफलतापूर्वक स्थापित हो जाता है, तो हम Chrome ऐप के तहत POSTMAN पा सकते हैं। POSTMAN खोलने के लिए बस पोस्टमैन आइकन पर क्लिक करें। पहली बार लॉन्च होने में समय लगेगा।
उपयोग करने के तरीके को समझने के लिए कृपया निम्न URL देखें डाकिया किसी उपकरण के तौर पर।
पूर्व-आवश्यकताएं: वेब पर तैनात सेवाओं तक पहुंचने के लिए इंटरनेट कनेक्शन की आवश्यकता होती है। स्थानीय रूप से तैनात सेवाओं तक पहुँचने के मामले में, सुनिश्चित करें कि पर्याप्त अधिकार हैं, विशेषाधिकारी उस उपयोगकर्ता को दिए जाते हैं जो POSTMAN पर परीक्षण कर रहे हैं।
डमी संसाधन URI: इस ट्यूटोरियल में, हम एक वास्तविक URI के बजाय एक डमी URI का उपयोग करेंगे। यह हमें इच्छानुसार प्रतिक्रियाएँ देगा लेकिन सर्वर में परिवर्तन नहीं किया जा सकता है।
http://jsonplaceholder.typicode.com
नेविगेशन कदम :
# 1) POSTMAN App लॉन्च होने के बाद, हम डिफ़ॉल्ट रूप से अनुरोध पृष्ठ देख सकते हैं।
#दो) हम ड्रॉप-डाउन पर क्लिक करके एपीआई कॉल की सूची देख सकते हैं। ड्रॉप-डाउन में से किसी भी विकल्प का चयन करके, हम सर्वर से एपीआई कॉल का अनुरोध कर सकते हैं।
# 3) किसी POSTMAN के ऊपरी दाएँ कोने में पर्यावरण चर बटन पर क्लिक करें। विशिष्ट वातावरण सेट करें, जहां हम परीक्षण करने जा रहे हैं। हम इसे भविष्य के निष्पादन के लिए बचा सकते हैं।
# 4) बचाया पर्यावरण पर्यावरण ड्रॉप-डाउन से सुलभ हो सकता है।
# 5) अगला, हमें दिए गए बॉक्स में संसाधन यूआरआई सेट करने की आवश्यकता है।
सबसे अच्छा वेबसाइटों यूट्यूब वीडियो डाउनलोड करने के लिए
c ++ बबल सॉर्ट उदाहरण
# 6) क्वेरी पैरामीटर निर्दिष्ट करने के लिए संसाधन URI फ़ील्ड के आगे परम बटन पर क्लिक करें
# 7) प्राधिकरण टैब पर क्लिक करें, ड्रॉप-डाउन से प्राधिकरण प्रकार का चयन करें और कोई भी वांछित प्राधिकरण सेट करें या, इसे केवल प्राधिकरण के रूप में छोड़ सकते हैं।
# 8) हेडर टैब पर क्लिक करें और आवश्यक हेडर को सामग्री-प्रकार की तरह सेट करें
# 9) बॉडी टैब पर क्लिक करें, फॉर्म-डेटा रेडियो बटन चुनें। आवश्यक बॉडी पैरामीटर निर्दिष्ट करें जिन्हें अनुरोध URL के साथ भेजने की आवश्यकता है
# 10) बॉडी टैब पर क्लिक करें, x-www-form-urlencoded Radio बटन चुनें। अनुरोध URL के साथ, आवश्यक बॉडी पैरामीटर निर्दिष्ट करें जिन्हें एन्कोडेड के रूप में भेजा जाना चाहिए
#ग्यारह) बॉडी टैब पर क्लिक करें, tab रॉ ’रेडियो बटन चुनें। आवश्यक बॉडी पैरामीटर निर्दिष्ट करें जिन्हें अनुरोध URL के साथ भेजने की आवश्यकता है। यह वास्तविक JSON प्रारूप में है
# 12) बॉडी टैब पर क्लिक करें, 'बाइनरी' रेडियो बटन चुनें। आवश्यक बॉडी पैरामीटर (आमतौर पर एक फ़ाइल के रूप में) निर्दिष्ट करें, जिसे अनुरोध URL के साथ भेजा जाना चाहिए।
# 13) एक बार जब हम उपरोक्त सभी विवरणों को कॉन्फ़िगर कर लेते हैं, तो हम अब अनुरोध भेज सकते हैं। इसके अलावा, हम request.json के रूप में भेजें अनुरोध को सहेज सकते हैं (हम अनुरोध का नाम बदल सकते हैं)।
# 14) हम इतिहास टैब के तहत बाईं ओर के पैनल पर किए गए अनुरोधों की सूची देख सकते हैं।
# पंद्रह) इसके अलावा, हम मौजूदा संग्रह या एक नए संग्रह के तहत अनुरोध (URI, प्राधिकरण, पैरामीटर, निकाय, आदि) से संबंधित सभी विवरणों को सहेज सकते हैं। एक बार अनुरोध को संग्रह में जोड़ दिया जाता है, तो हम इसे निर्यात (साझा) कर सकते हैं और यहां तक कि किसी भी मौजूदा संग्रह को आयात कर सकते हैं।
हम संग्रह को एक लिंक के रूप में, या टीम लाइब्रेरी के रूप में एक साधारण जनरेट किए गए कोड द्वारा साझा कर सकते हैं। हम हमेशा पूरे संग्रह सूट को चला सकते हैं।
यहां तक कि हम संग्रह URL को वेब पर प्रकाशित कर सकते हैं ताकि प्रकाशित URL तक पहुंचने वाला कोई भी व्यक्ति उस संग्रह तक पहुंच सके और वेब API द्वारा दी गई सेवाओं का उपभोग कर सके।
POSTMAN में लॉग इन करने की एक सुविधा है, जो हमें इतिहास, संग्रह, पर्यावरण डेटा, स्थानीय भंडारण को संग्रहीत करने में सक्षम बनाती है ताकि हम इसे सहेज सकें और POSTMAN में लॉग इन होने के बाद कभी भी, कहीं भी इसे एक्सेस कर सकें।
हरकारा
इसका उपयोग संग्रह फ़ोल्डर में मौजूद संसाधनों को चलाने के लिए किया जाता है।
निष्कर्ष
अधिकांश कंपनियां वेब सेवाओं के विकास / कार्यान्वयन के लिए REST वास्तुकला शैली को अपना रही हैं क्योंकि यह एक सरल और उपयोगकर्ता के अनुकूल इंटरफेस है, जिसे परियोजना के मौजूदा / नए सदस्यों के लिए कम प्रशिक्षण की आवश्यकता होती है। संगठन अपनी मौजूदा वेब सेवाओं के साथ REST पर विचार कर रहे हैं।
यह भी पढ़ें = >> फ्लास्क एपीआई ट्यूटोरियल
अगले ट्यूटोरियल इस REST API श्रृंखला में, हम विभिन्न प्रकार के प्रतिक्रिया कोड, REST अनुरोधों के प्रकार, आदि के बारे में चर्चा करेंगे।
अनुशंसित पाठ
- बाकी एपीआई प्रतिक्रिया कोड और बाकी अनुरोधों के प्रकार
- पोस्टमैन ट्यूटोरियल: एपीआई टेस्ट पोस्टमैन का उपयोग करना
- बीडीडी दृष्टिकोण का उपयोग करके ककड़ी के साथ रीस्ट एपीआई परीक्षण
- 2021 में 10 सर्वश्रेष्ठ एपीआई परीक्षण उपकरण (SOAP और REST API परीक्षण उपकरण)
- स्प्रिंग रेस्टप्लेट और टेस्टएनजी के साथ रीस्ट एपीआई टेस्टिंग
- बाकी बीमित और जेनकींस का उपयोग करके एपीआई अनुरोधों को कैसे स्वचालित करें
- SoapUI Pro में ट्यूटोरियल कैसे बनाएँ: ट्यूटोरियल # 13
- Parasoft SOAtest ट्यूटोरियल: स्क्रिप्टलेस एपीआई टेस्टिंग टूल