किसी चीज़ को "उजागर" करने का क्या मतलब है?


18

इसलिए मैं एक Google ऐप इंजन एप्लिकेशन बनाने पर काम कर रहा हूं, और कई बार "एक्सपोज़" शब्द के साथ आया हूं, उदाहरण के लिए "आपका पहला ऐप एक HTTP आधारित एपीआई का उपयोग करके ऑब्जेक्ट्स को एक्सपोज़ कर सकता है" और इस डेटामॉडल क्लास को एक के माध्यम से एक्सपोज़ करें बाकी एपीआई"। "एक्सपोज़" का क्या अर्थ है? क्या कोई विशेष क्रिया इससे जुड़ी है, या यह डिजाइन का एक अमूर्त हिस्सा है?

जवाबों:


16

इसका मतलब है कि आप वस्तुओं को कुछ माध्यमों से एक्सेस करने में सक्षम बनाते हैं। अपने उदाहरणों में, आप अपने प्रोटोकॉल ( एपीआई ) के साथ बातचीत करने के लिए कुछ पूर्वनिर्धारित तरीके से HTTP प्रोटोकॉल का उपयोग करके उपयोगकर्ताओं को वस्तुओं को बनाने, पढ़ने, अद्यतन करने या (आमतौर पर संक्षिप्त रूप में CRUD) को नष्ट करने की अनुमति दे सकते हैं ।

वह API नियमों के एक सेट का पालन कर सकता है - जैसे कि RESTful API ऑब्जेक्ट पर कुछ क्रियाओं को करने के लिए HTTP क्रियाओं का उपयोग करता है और वे कुछ सिद्धांतों का पालन करते हैं जो कहते हैं कि कैसे संसाधनों की पहचान / प्रतिनिधित्व किया जाना चाहिए और उन अभ्यावेदन के माध्यम से कैसे हेरफेर किया जाना चाहिए।

एक वेब एप्लिकेशन के संदर्भ में, मान लें कि आपके पास अपने डेटाबेस में संग्रहीत ब्लॉग पोस्ट हैं। आप चाहेंगे कि आपके एप्लिकेशन के उपयोगकर्ता उन पोस्टों के साथ कुछ करने में सक्षम हों। उन्हें आवश्यक रूप से आपकी वेब साइट का उपयोग करने की आवश्यकता नहीं है , लेकिन शायद अपने स्वयं के एप्लिकेशन का उपयोग कर सकते हैं जो आपके एप्लिकेशन से कनेक्ट होगा (जैसे ब्लॉग रीडर प्रोग्राम)।

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

  • यदि GET /posts/{number} HTTP/1.1आपके वेब एप्लिकेशन से अनुरोध किया जाता है, तो आप {number}एक पूर्वनिर्धारित प्रारूप में एक आईडी के साथ अपनी पोस्ट ऑब्जेक्ट का प्रतिनिधित्व प्रदान करेंगे

ध्यान दें कि आप एक वास्तविक डेटाबेस ऑब्जेक्ट प्रदान नहीं कर रहे हैं, न ही आपकी एप्लिकेशन ऑब्जेक्ट। आप अपनी वस्तु का प्रतिनिधित्व प्रदान कर रहे हैं

  • एक तो POST /posts HTTP/1.1एक साथ title={text1}&body={text2}अपने वेब आवेदन करने के लिए पोस्ट किया जाता है, तो आप शीर्षक से एक नई पोस्ट वस्तु पैदा करेगा {text1}कि शामिल होंगे {text2}अपने शरीर के लिए, और नव निर्मित पोस्ट के एक आईडी मान प्रदान करेंगे

फिर से, आप उपयोगकर्ता को आपकी वस्तुओं के प्रतिनिधित्व में हेरफेर करने की अनुमति दे रहे हैं। उपयोगकर्ता को यह जानने की ज़रूरत नहीं है कि आपकी वस्तुएं वास्तव में कैसी दिखती हैं (जो कि उपयोगकर्ता द्वारा इंटरफ़ेस से दूर है)।

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


19

यहां "एक्सपोज़" का अर्थ है कि नियमित अंग्रेजी में इसका क्या अर्थ है - पहुंच प्रदान करें जहां पहुंच अन्यथा उपलब्ध नहीं होगी।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.