एपीआई के लिए वास्तु शैली - कैसे एक विकल्प बनाने के लिए

इतना विकल्प, जब एक नया एपीआई का निर्माण। हमें अपने नए एपीआई के लिए कौन सी वास्तु शैली चुननी चाहिए? क्या एपीआई के लिए स्थापत्य शैली के संबंध में कोई सर्वोत्तम प्रथाएं हैं?

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

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

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

  • रेस्ट एपीआई स्टाइल (प्रतिनिधि राज्य हस्तांतरण) रिचर्डसन परिपक्वता सूचकांक में परिभाषित किए गए सभी "स्तरों" में HATEOAS के साथ।
  • ग्राफकॉल एपीआई स्टाइल
  • RPC API स्टाइल (दूरस्थ प्रक्रिया कॉल)
  • सोप एपीआई शैली
  • gRPC एपीआई शैली
  • फाल्कर एपीआई स्टाइल

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

एपीआई के लिए वास्तुकला शैली के बारे में सबसे अच्छा अभ्यास

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

मूल रूप से एपीआई-विश्वविद्यालय में प्रकाशित।