जब आप "कैसे एक एपीआई बनाने के लिए" के लिए एक वेब खोज करते हैं, तो मैंने पाया कि काफी कुछ विकल्प सामने आते हैं, लेकिन बहुत कम ही एंड-टू-एंड गाइड हैं। यह मेरी खराब वेब खोज क्षमताओं के कारण हो सकता है या क्योंकि एपीआई बनाना काफी कठिन है (इसे डिजाइन से उत्पादन तक प्राप्त करना)।
एपीआई के साथ काम करने वाला कोई भी व्यक्ति आपको बताएगा कि यह काफी काम हो सकता है, और लोगों की एक टीम आमतौर पर इसे प्रबंधित करती है। इसलिए स्वयं एक एपीआई बनाना और इसे उत्पादन में लाना ताकि आपके उपयोगकर्ता इसका उपयोग शुरू कर सकें, यह एक महत्वपूर्ण चुनौती हो सकती है।
हम एक भाग्यशाली समय में रहते हैं जहां ऐसे कई उपकरण हैं जो इस कार्य को और अधिक प्रबंधनीय बनाते हैं। पोस्टमैन जैसी किसी चीज़ के साथ, हम एपीआई विनिर्देश बना सकते हैं, एपीआई विनिर्देश का परीक्षण कर सकते हैं और अंततः यह सुनिश्चित करने के लिए हमारे एपीआई का परीक्षण कर सकते हैं कि यह अपेक्षित रूप से काम कर रहा है। हमारे एपीआई के बैक एंड को बनाने के लिए, हमें फ्लास्क, हेरोकू और अधिक जैसे कई टूल की आवश्यकता होगी, या हम अपने एपीआई को बनाने और होस्ट करने के लिए कम-कोड टूल का विकल्प चुन सकते हैं।
इस पोस्ट में, हम एक एपीआई बनाने की प्रक्रिया को देखेंगे और इस प्रक्रिया को और अधिक कुशल कैसे बनाया जा सकता है।
एपीआई विकास जटिल है, इसके आसपास कोई रास्ता नहीं है। आमतौर पर हमें एपीआई, कोड, टेस्ट, डिबग, कोड को फिर से डिजाइन करने, कुछ और परीक्षण करने, जब हम तैयार होते हैं तो तैनात करने की आवश्यकता होती है, और फिर अंतहीन रखरखाव होता है। एक विशिष्ट एपीआई विकास जीवन चक्र कुछ इस तरह दिखेगा:
प्रक्रिया में प्रत्येक चरण आम तौर पर किसी अन्य उपकरण या संसाधन द्वारा किया जाएगा, इसलिए यह एक एपीआई को लागू करने के लिए काफी प्रयास हो सकता है।
उदाहरण के लिए, हम अपने एपीआई (ओपन एपीआई विशिष्टता) को डिजाइन करने के लिए पोस्टमैन का उपयोग करने का विकल्प चुन सकते हैं और हमारे डेटा को स्टोर या पुनर्प्राप्त करने के लिए हमारे कोड कनेक्ट फायरबेस या कुछ डेटाबेस के लिए फ्लास्क जैसे कुछ का उपयोग कर सकते हैं। हमें अन्य एपीआई और सेवाओं के लिए अतिरिक्त आरईएसटी कॉल करने की भी आवश्यकता हो सकती है। परीक्षण करने के लिए, हम फिर से पोस्टमैन का उपयोग कर सकते हैं, लेकिन कोड और हमारे सभी कनेक्टर्स को डीबग करना मुश्किल हो सकता है। परिनियोजन के लिए, हम हरोकू का विकल्प चुन सकते हैं, लेकिन यह इस बात पर निर्भर करता है कि हमारे एपीआई को क्या चाहिए। निगरानी के लिए, हम या तो अपनी निगरानी प्रणाली बना सकते हैं या स्प्लंक जैसी किसी चीज़ का उपयोग कर सकते हैं। और जब हमें अपना एपीआई बनाए रखने की आवश्यकता होती है, तो हमें उस सब में वापस गोता लगाने की जरूरत होती है। आपको वही मिलता है जो मैं कहना चाह रहा हूं। एपीआई विकास जटिल है।
मैं एपीआई विकास जीवनचक्र को सरल बनाने और अपने एपीआई को डिजाइन से उत्पादन तक विकसित करने का एक तरीका चाहता था, जिसमें केवल उपकरणों से भरा हाथ था। लिंक्स जैसे लो-कोड टूल के लिए धन्यवाद, यह संभव है। मैं केवल तीन टूल का उपयोग करके, डिज़ाइन से परिनियोजन तक API बनाने में सक्षम था:
मैंने एक सीधा एपीआई चुना जो उपयोगकर्ता रिकॉर्ड रखरखाव करेगा। एपीआई के पांच तरीके हैं:
मैंने YAML का उपयोग करके डाकिया में एक सीधा एपीआई विनिर्देश बनाया है जो आवश्यकता से मेल खाता है। पोस्टमैन ने मुझे यह देखने की अनुमति दी कि मैंने क्या बनाया और नेत्रहीन रूप से अतिरिक्त जानकारी प्रदान की। पोस्टमैन में एपीआई परिभाषा बनाने से यह भी लाभ होता है कि यह पहले से ही परीक्षण के लिए एपीआई सेट करता है। यदि आप चुनते हैं, तो आप इस स्तर पर परीक्षण स्क्रिप्ट सेट कर सकते हैं।
अब जब मेरे पास एपीआई परिभाषा है, तो कोड बनाया जा सकता है। लिंक्स आपको ओपनएपीआई 3.0 विनिर्देश आयात करने की अनुमति देता है और स्वचालित रूप से निर्दिष्ट प्रत्येक विधि के लिए ईवेंट उत्पन्न करेगा। मुझे केवल यूआरआई निर्दिष्ट करने और फिर तर्क बनाने की आवश्यकता थी।
डेटाबेस प्लग इन स्थापित होने के बाद प्रत्येक ईवेंट का तर्क बनाना अपेक्षाकृत तेज़ी से होता है। लिंक्स में हर टूल की तरह सीखने की अवस्था होती है, लेकिन एक बार जब आप समझ जाते हैं कि इसके साथ कैसे काम करना है, तो गति तेज हो जाती है।
मैंने एपीआई के लिए प्रत्येक घटना में तर्क और कार्यक्षमता जोड़ा। उदाहरण के लिए, GetAllUsers विधि के लिए, हम सभी को SQL डेटाबेस से पढ़ने और प्रतिक्रिया निकाय के माध्यम से परिणाम वापस करने की आवश्यकता है।
चूंकि एपीआई पहले से ही पोस्टमैन पर स्थापित है, इसलिए वास्तविक समय में यह परीक्षण करना काफी आसान था कि एपीआई अब कैसे संचालित होता है कि तर्क लागू किया गया है। नीचे दिया गया जीआईएफ दिखाता है कि मैंने अपने द्वारा बनाए गए आरईएसटी एपीआई को डीबग करने के लिए लिंक्स डिजाइनर का उपयोग कैसे किया और मैं इसे डीबग मोड में कैसे परीक्षण कर रहा हूं।
जीआईएफ
एपीआई को लिंक्स में डीबग किया जा रहा है, इसे होस्ट किया जा रहा है ताकि मैं इसे यह देखने के लिए कॉल कर सकूं कि जब मैं तैनात करता हूं तो यह कैसे व्यवहार करेगा। यह मुझे परीक्षण करने और वास्तविक परिणाम वापस प्राप्त करने की अनुमति देता है:
बेशक, हम अपनी परीक्षण प्रक्रिया को स्वचालित करने के लिए पोस्टमैन में परीक्षण स्क्रिप्ट भी जोड़ सकते हैं। ये स्क्रिप्ट सुनिश्चित करेंगी कि आपको सही प्रतिक्रिया मिल रही है।
अब जबकि एपीआई को डिजाइन, विकसित और परीक्षण किया गया है, इसे तैनात करने की आवश्यकता है। पारंपरिक एपीआई विकास के साथ यह एक महत्वपूर्ण कार्य हो सकता है क्योंकि हमें एक परिनियोजन रणनीति के साथ आने की जरूरत है, यह पता लगाएं कि हम कहां मेजबानी करेंगे और यह सुनिश्चित करेंगे कि निगरानी और लॉगिंग का ध्यान रखा जाए और और भी बहुत कुछ।
मेरी तैनाती काफी सरल थी। मैंने एपीआई को लिंक्स डिज़ाइनर से सीधे लिंक्स सर्वर पर तैनात किया है। समाधान के निर्माण, सर्वर पर धकेलने और उपयोग के लिए तैयार होने में लगभग 2 मिनट का समय लगा। एक एपीआई को होस्ट करने की कठिनाई दूर हो जाती है क्योंकि लिंक्स सर्वर इसे संभालता है। यह निगरानी और लॉगिंग भी करता है:
यदि कोई अनपेक्षित त्रुटि हुई तो क्या होगा यह देखने के लिए मैंने गलत आईडी के साथ GetUser विधि को कॉल किया। सर्वर त्रुटि लॉग करता है और लाल रंग से इंगित करता है कि एक त्रुटि हुई:
मैं फिर से डाकिया से एपीआई को कॉल करने में सक्षम था, और सर्वर हर बार एक संकेत देता है कि एपीआई कहा जाता है।
बेशक, मैंने अपने एपीआई में किसी भी प्रकार की सुरक्षा या प्रमाणीकरण नहीं जोड़ा है, लेकिन ये सेटिंग्स लिंक्स डिजाइनर में उपलब्ध हैं। मैंने कोशिश की एक और विकल्प एपीआई दस्तावेज़ीकरण को स्वैगर प्रारूप में उत्पन्न करना था। यह काफी मूल्यवान साबित हुआ क्योंकि आधार यूआरआई में/स्वैगर जोड़कर, प्रलेखन उपलब्ध है और एपीआई के साथ ही होस्टेड है। इससे जरूरत पड़ने पर एपीआई दस्तावेज वितरित करना आसान हो जाता है।
लिंक्स और पोस्टमैन को मिलाते समय, हम एपीआई को डिजाइन, निर्माण, दस्तावेज और होस्ट कर सकते हैं। किसी भी उपकरण की तरह, इसके अभ्यस्त होने में थोड़ा समय लगता है। चूंकि लिंक्स मानक प्रोग्रामिंग प्रतिमानों और शब्दजाल का उपयोग करता है, इसलिए यदि आप सी # जैसी प्रोग्रामिंग भाषा से परिचित हैं तो इसे चुनना आसान है। मुझे लगता है कि लिंक्स के साथ एपीआई को परिनियोजित और होस्ट करते समय हम सबसे अधिक समय बचाते हैं। मॉनिटरिंग और होस्टिंग आपके लिए की जाती है, जिसका अर्थ है कि एक बड़े सिरदर्द का ध्यान रखा जाता है। यदि लॉगिंग और मॉनिटरिंग पर्याप्त रूप से बारीक नहीं है, तो आप अपनी कार्यक्षमता को Linx समाधान में जोड़ सकते हैं।
यदि आप लिंक्स के साथ एपीआई बनाने की कोशिश करना चाहते हैं, तो आप इसे स्वयं आज़मा सकते हैं
यहाँ भी प्रकाशित हो चुकी है।.