संसाधन और समापन बिंदु के बीच अंतर क्या है?


139

मैंने एक ही चीज़ को संदर्भित करने के लिए "संसाधन" और "समापन बिंदु" दोनों को सुना है। ऐसा लगता है कि संसाधन एक नया शब्द है।

उनके बीच क्या अंतर है? क्या "संसाधन" एक ईमानदार डिजाइन का अर्थ है?

जवाबों:


107

आराम

संसाधन समापन बिंदु का एक संपूर्ण उपसमूह है ।

एक समापन बिंदु अपने आप में वह स्थान है जहाँ किसी सेवा तक पहुँचा जा सकता है:

https://www.google.com    # Serves HTML
8.8.8.8                   # Serves DNS
/services/service.asmx    # Serves an ASP.NET Web Service

एक संसाधन एक या अधिक संज्ञाओं को परोसा जाता है, नामांकित फैशन में दर्शाया जाता है, क्योंकि यह मनुष्य के लिए समझना आसान है:

/api/users/johnny         # Look up johnny from a users collection.
/v2/books/1234            # Get book with ID 1234 in API v2 schema.

उपरोक्त सभी को सेवा समापन बिंदु माना जा सकता है, लेकिन केवल निचले समूह को संसाधन माना जाएगा, RESTfully बोलना। शीर्ष समूह इसके द्वारा प्रदान की जाने वाली सामग्री के बारे में स्पष्ट नहीं है।

REST अनुरोध संज्ञाओं (संसाधनों) और क्रियाओं (HTTP विधियों) से बना एक वाक्य जैसा है :

  • GET(विधि) नामित उपयोगकर्ता johnny(संसाधन)।
  • DELETE(विधि) आईडी 1234(संसाधन) के साथ पुस्तक ।

गैर बाकी

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

URL: यूनिफ़ॉर्म "रिसोर्स" लोकेटर

  • रेस्टफुल हो सकता है, लेकिन अक्सर ऐसा नहीं है। इस मामले में, समापन बिंदु लगभग पर्यायवाची है।

संसाधन प्रबंधन

शब्दकोश

  • परिभाषाएँ शब्द के कई और अधिक का उपयोग करता है प्रदान करते हैं।

कुछ ऐसा जो आपकी मदद के लिए इस्तेमाल किया जा सकता है:

पुस्तकालय एक मूल्यवान संसाधन था, और वह अक्सर इसका उपयोग करता था।

संसाधन प्राकृतिक पदार्थ हैं जैसे पानी और लकड़ी जो जीवन का समर्थन करने में मूल्यवान हैं:

[pl] पृथ्वी के पास सीमित संसाधन हैं, और यदि हम उन्हें रीसायकल नहीं करते हैं तो हम उनका उपयोग करते हैं।

संसाधन भी मूल्य की चीजें हैं जैसे पैसा या संपत्ति जो आप उपयोग कर सकते हैं जब आपको उनकी आवश्यकता होती है:

[pl] सरकार के पास आवश्यक शिक्षकों की संख्या को रखने के लिए संसाधन नहीं हैं।


सीख

अवधि संसाधन परिभाषा से अति सूक्ष्म अंतर का एक बहुत है। यह सब उस संदर्भ पर निर्भर करता है जिसमें इसका उपयोग किया गया है।


1
मुझे उसी पर शक था। क्या आपने ऐसा कोई संदर्भ देखा है जो इसे समझाता हो या दस्तावेज़ करता हो?
बी सेवन

कुछ लिंक जोड़े गए हैं जो शब्दों में से प्रत्येक के लिए एक एहसास देते हैं।
cchamberlain

84

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

एंडपॉइंट शब्द पर केंद्रित है URL है जिसका उपयोग अनुरोध करने के लिए किया जाता है। संसाधन
शब्द उस डेटा सेट पर केंद्रित होता है जिसे अनुरोध द्वारा लौटाया जाता है।

अब, एक ही संसाधन अक्सर कई द्वारा पहुँचा जा सकता है अलग-अलग समापन बिंदुओं
इसके अलावा एक ही समापन बिंदु एक क्वेरी स्ट्रिंग के आधार पर, विभिन्न संसाधनों को वापस कर सकता है ।

आइए हम कुछ उदाहरण देखें:

समान संसाधन तक पहुँचने वाले अलग-अलग समापन बिंदु

निम्नलिखित उदाहरणों पर एक नज़र डालें विभिन्न समापन बिंदुओं :

/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3

वे स्पष्ट रूप से सभी दिए गए एपीआई में एक ही संसाधन का उपयोग कर सकते हैं ।

इसके अलावा एक मौजूदा एपीआई को पूरी तरह से बदला जा सकता है। इससे नए एंडपॉइंट बन सकते हैं जो पूरी तरह से नए और अलग URL का उपयोग करके समान पुराने संसाधनों तक पहुंचेंगे:

/api/employees/3
/new_api/staff/3

विभिन्न संसाधनों तक पहुँचने वाला एक समापन बिंदु

यदि आपका समापन बिंदु एक संग्रह लौटाता है, तो आप क्वेरी स्ट्रिंग्स का उपयोग करके खोज / फ़िल्टरिंग / छँटाई को लागू कर सकते हैं। परिणामस्वरूप निम्न URL सभी एक ही समापन बिंदु ( /api/companies) का उपयोग करते हैं , लेकिन वे विभिन्न संसाधन (या संसाधन संग्रह , जो परिभाषा के अनुसार स्वयं में संसाधन हैं) वापस कर सकते हैं :

/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens

4
अच्छी तरह से समझाया gon
मैंगजाइट्स

1
"परिणामस्वरूप निम्न URL सभी समान समापन बिंदु (/ एपीआई / कंपनियों) का उपयोग करते हैं, लेकिन वे विभिन्न संसाधनों को वापस कर सकते हैं।" मेरा मतलब है कि कोई अपराध नहीं है, लेकिन आप वास्तव में यहाँ अपनी व्याख्या कर रहे हैं। REST के संदर्भ में, ये विभिन्न संसाधनों के स्थान हैं। जिस समापन बिंदु भाग को आपने URL के किसी अन्य भाग के रूप में देखना चाहा है। ऐसा इसलिए है क्योंकि आप एक प्रोग्रामर हैं और आप सोच रहे हैं कि इसे कैसे लागू किया जाए, एक सिंगल एक्शन मेथड के कोड के रूप में। कल्पना कीजिए कि इन सभी अलग-अलग URL को रूट किया गया था और 4 सर्वरों से परोसा गया था, क्या वे सभी समान हैं? इसका अब कोई मतलब नहीं है।
ल्यूक पुप्लेट

1
कारण क्वेरी स्ट्रिंग एंडपॉइंट का हिस्सा नहीं हैं क्योंकि एंडपॉइंट REST की भाषा का हिस्सा नहीं है और न ही URL। यह सिर्फ नहीं है। आप हैंडलिंग वेब एप्लिकेशन को कोड करने के बारे में सोच रहे हैं। REST में क्वेरी परम या सॉर्टिंग या कुछ के बारे में कुछ भी उल्लेख नहीं है। यह सिर्फ नहीं है। यदि आप किसी संग्रह और / आदेशों को वापस करने के लिए / आदेशों का उपयोग करते हैं? शीर्ष = 10 जो कि बहुत सुंदर URL है, तो संग्रह के लिए / 32knre32nj के लिंक और शीर्ष दस आदेशों के लिए / abcd के लिंक का उपयोग करने की तुलना में इसका कोई और अधिक या कम प्रतिष्ठित नहीं है। वे सिर्फ संसाधन पहचानकर्ता हैं। URL कम या ज्यादा RESTful नहीं हो सकते हैं और एक समापन बिंदु एक चीज नहीं है।
ल्यूक पुप्लेट

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

"समापन बिंदु" के लिए कोई अत्यधिक विहित परिभाषा या कल्पना नहीं है। यह सब उस प्रौद्योगिकी के लिए उबलता है जिसका उपयोग इसके संदर्भ में किया जाता है बिंदु में मामला, Google "एक समापन बिंदु क्या है?" और इस मामले के शीर्ष लेखों में से एक यह पृष्ठ है। हम इसे यहाँ उस संदर्भ के आधार पर परिभाषित कर रहे हैं जिसे हमने इसके साथ प्रयोग किया है। इस उत्तर में सभी उदाहरण RESTful हैं, हालांकि समापन बिंदु आवश्यक रूप से RESTful नहीं है। SOAP देखें
22 अक्टूबर को cchamberlain

7

संभवतः मेरा एक बहुत अच्छा जवाब नहीं है लेकिन यहाँ जाता है।

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

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

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

संपादित करें

मैंने इस बारे में ब्लॉग किया।

https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819


1

Https://apiblueprint.org/documentation/examples/13-ame-endpoint.html के अनुसार , दी गई इकाई के भंडारण का एक संसाधन "सामान्य" स्थान है - जैसे / ग्राहक / 30654 / आदेश, जबकि एक समापन बिंदु ठोस कार्रवाई है (HTTP विधि) दिए गए संसाधन पर। तो एक संसाधन में कई समापन बिंदु हो सकते हैं।


1
क्षमा करें @Dafka, लेकिन आप गलत हैं। एक एंडपॉइंट का क्रिया (जीईटी, पीओटीटी, पीयूटी, डेल्ही, पैटेक जैसे HTTP विधि) से कोई लेना-देना नहीं है।
जेपीसी

0

एक सर्वर पर विचार करें जिसमें उपयोगकर्ताओं, मिशनों और उनके रिवार्ड पॉइंट्स की जानकारी हो।

  1. उपयोगकर्ता और इनाम अंक संसाधन हैं
  2. एक अंतिम बिंदु एक से अधिक संसाधनों से संबंधित हो सकता है
  3. एंडपॉइंट को विवरण या पूर्ण या आंशिक URL का उपयोग करके वर्णित किया जा सकता है

यहां छवि विवरण दर्ज करें

स्रोत: एपीआई एंडपॉइंट्स बनाम संसाधन


-1

1. संसाधन विवरण "संसाधन" एक एपीआई द्वारा दी गई जानकारी को संदर्भित करता है।

2. समापन बिंदु और विधियाँ एंडपॉइंट्स संकेत करते हैं कि आप संसाधन का उपयोग कैसे करते हैं, जबकि विधि संसाधन के साथ अनुमत इंटरैक्शन (जैसे GET, POST, या DELETE) को इंगित करती है।

अतिरिक्त जानकारी: 3. पैरामीटर पैरामीटर वे विकल्प हैं जिन्हें आप समापन बिंदु के साथ पारित कर सकते हैं (जैसे कि प्रतिक्रिया प्रारूप को निर्दिष्ट करना या प्रतिक्रिया को प्रभावित करने के लिए दी गई राशि)।

4. अनुरोध उदाहरण अनुरोध उदाहरण में समापन बिंदु का उपयोग करके एक नमूना अनुरोध शामिल है, जिसमें कुछ पैरामीटर कॉन्फ़िगर किए गए हैं।

5. प्रतिक्रिया उदाहरण और स्कीमा प्रतिक्रिया का उदाहरण अनुरोध के उदाहरण से नमूना प्रतिक्रिया दर्शाता है; प्रतिक्रिया स्कीमा प्रतिक्रिया में सभी संभावित तत्वों को परिभाषित करता है।

स्रोत- संदर्भ लिंक

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