"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > REST API डिज़ाइन और नामकरण परंपराओं के लिए मार्गदर्शिका

REST API डिज़ाइन और नामकरण परंपराओं के लिए मार्गदर्शिका

2024-11-06 को प्रकाशित
ब्राउज़ करें:760

Guide to REST API Design and Naming Conventions

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

  1. नामकरण परंपराएं और संसाधन-उन्मुख डिज़ाइन एपीआई को अक्सर संसाधनों के आसपास परिभाषित किया जाता है, जो आपके सिस्टम में संस्थाओं का प्रतिनिधित्व करते हैं, जैसे "उपयोगकर्ता," "उत्पाद," या "ऑर्डर।" एक संसाधन एक एकल आइटम या संग्रह हो सकता है, और एपीआई को इन संसाधनों के साथ बातचीत करने का एक सहज और स्पष्ट तरीका प्रदान करना चाहिए।

मुख्य सिद्धांत:
संसाधन-उन्मुख: अपने एपीआई को संसाधनों के आधार पर डिज़ाइन करें, न कि कार्यों के आधार पर। संसाधनों को संज्ञा के रूप में समझा जाना चाहिए, क्रिया के रूप में नहीं। उदाहरण के लिए:

/उपयोगकर्ताओं के संग्रह तक पहुंचने के लिए उपयोगकर्ता।
/users/{userId} किसी विशिष्ट उपयोगकर्ता तक पहुँचने के लिए।
संगति: एपीआई सहज होना चाहिए। यदि कोई उपयोगकर्ता /users से संसाधनों की सूची प्राप्त कर सकता है, तो उसे एक पहचानकर्ता जोड़कर व्यक्तिगत संसाधनों को लाने में सक्षम होने की उम्मीद करनी चाहिए: /users/{userId}।

संग्रह बनाम एकल संसाधन:

संसाधनों का संग्रह बहुवचन संज्ञा द्वारा दर्शाया जाता है: /उपयोगकर्ता, /उत्पाद।
किसी एकल संसाधन को उस संसाधन के विशिष्ट पहचानकर्ता को जोड़कर दर्शाया जाता है: /users/{userId}, /products/{productId}.

  1. HTTP विधियाँ क्रिया को परिभाषित करती हैं, URI को नहीं की जा रही कार्रवाई (चाहे वह डेटा पुनर्प्राप्त करना हो, नई प्रविष्टियां बनाना हो, या मौजूदा डेटा अपडेट करना हो) को यूआरआई में एम्बेड नहीं किया जाना चाहिए। इसके बजाय, HTTP विधि कार्रवाई निर्धारित करती है।

सामान्य HTTP तरीके और उनके उपयोग के मामले:
प्राप्त करें: सर्वर से डेटा पुनर्प्राप्त करें।

उदाहरण: GET /products सभी उत्पादों की एक सूची लौटाता है।
उदाहरण: GET /users/{userId} निर्दिष्ट userId के साथ उपयोगकर्ता को पुनः प्राप्त करता है।
पोस्ट: सर्वर पर एक नया संसाधन बनाएं।

उदाहरण: POST /users एक नया उपयोगकर्ता बनाता है।
PUT: मौजूदा संसाधन को नए डेटा (पूर्ण अद्यतन) से बदलें।

उदाहरण: PUT /users/{userId} उपयोगकर्ता के डेटा को पूरी तरह से नए डेटा से बदल देता है।
पैच: मौजूदा संसाधन को आंशिक रूप से अद्यतन करें (आंशिक अद्यतन)।

उदाहरण: PATCH /users/{userId} केवल निर्दिष्ट विशेषताओं को अपडेट करता है, जैसे फ़ोन नंबर।
हटाएँ: एक संसाधन हटाएँ।

उदाहरण: DELETE /users/{userId} निर्दिष्ट userId वाले उपयोगकर्ता को हटा देता है।

  1. REST में स्टेटलेसनेस REST API स्टेटलेस होना चाहिए, जिसका अर्थ है कि प्रत्येक API कॉल में सर्वर द्वारा अनुरोध को संसाधित करने के लिए आवश्यक सभी जानकारी होनी चाहिए। यह सुनिश्चित करता है कि प्रत्येक अनुरोध आत्मनिर्भर है और पिछले अनुरोधों पर निर्भर नहीं है।

उदाहरण: उपयोगकर्ता विवरण प्राप्त करने के लिए GET अनुरोध करते समय, अनुरोध में आवश्यक प्राधिकरण टोकन शामिल होना चाहिए, भले ही पिछले अनुरोध ने पहले ही उपयोगकर्ता को प्रमाणित कर दिया हो। वितरित सिस्टम में यह आवश्यक है, जहां अलग-अलग अनुरोध अलग-अलग सर्वर पर आ सकते हैं।

  1. सर्वर-विशिष्ट डेटा संग्रहण से बचें किसी भी एकल एपीआई अनुरोध को किसी विशिष्ट सर्वर पर अस्थायी डेटा संग्रहीत करने पर निर्भर नहीं होना चाहिए। एक वितरित प्रणाली में, आने वाले अनुरोधों को किसी भी सर्वर पर रूट किया जा सकता है, इसलिए समान परिणाम प्राप्त किया जाना चाहिए, भले ही कौन सा सर्वर अनुरोध को संसाधित करता है। यही कारण है कि सत्र स्थिति को अलग-अलग सर्वर पर संग्रहीत नहीं किया जाना चाहिए।

समाधान: सत्र प्रबंधन के लिए, रेडिस जैसे केंद्रीकृत या वितरित भंडारण सिस्टम या जेडब्ल्यूटी (जेएसओएन वेब टोकन) जैसे स्टेटलेस प्रमाणीकरण तंत्र का उपयोग करें।

  1. संसाधन बनाम डेटाबेस तालिकाएँ आपके एपीआई के डिज़ाइन में डेटाबेस तालिकाओं और एपीआई एंडपॉइंट के बीच एक-से-एक मैपिंग नहीं होनी चाहिए। एपीआई को तार्किक, सार्थक संसाधनों को उजागर करना चाहिए जो कई तालिकाओं या स्रोतों से डेटा को जोड़ सकते हैं।

उदाहरण:
GET /orders/{orderId} ऑर्डर, ऑर्डर_आइटम और ग्राहक तालिकाओं से जानकारी मिलाकर ऑर्डर विवरण प्राप्त कर सकता है।

  1. डेटा प्रकारों में लचीलापन REST API आपके डेटाबेस के डेटा प्रकार या तालिका संरचनाओं द्वारा बाधित नहीं हैं। आप अपनी प्रतिक्रियाओं को इस तरह से संरचित कर सकते हैं जो आपके एपीआई उपभोक्ताओं को सर्वोत्तम सेवा प्रदान करे। जबकि JSON सबसे अधिक उपयोग किया जाने वाला प्रारूप है, यदि आवश्यक हो तो आप XML या CSV जैसे अन्य प्रारूपों में डेटा वापस करने के लिए स्वतंत्र हैं।

उदाहरण: एक GET /रिपोर्ट/{रिपोर्टआईडी} एंडपॉइंट अनुरोध में क्वेरी पैरामीटर या हेडर के आधार पर विभिन्न प्रारूपों (जेएसओएन, सीएसवी, पीडीएफ) में एक रिपोर्ट लौटा सकता है।
उदाहरण एपीआई संरचना
इन सभी सिद्धांतों को एक साथ जोड़ने के लिए, यहां इन सर्वोत्तम प्रथाओं का पालन करते हुए एक नमूना एपीआई संरचना दी गई है:

GET /products: सभी उत्पादों को पुनः प्राप्त करता है।
GET /products/{productId}: किसी विशिष्ट उत्पाद का विवरण प्राप्त करता है।
पोस्ट/उत्पाद: एक नया उत्पाद बनाता है।
PUT /products/{productId}: उत्पाद को productId से बदल देता है।
PATCH /products/{productId}: उत्पाद को आंशिक रूप से अपडेट करता है।
DELETE /products/{productId}: उत्पाद हटाता है।
इस संरचना में, संसाधनों को स्पष्ट रूप से परिभाषित किया गया है, और HTTP विधियाँ एक स्वच्छ और सहज एपीआई सुनिश्चित करते हुए की जाने वाली कार्रवाई को निर्दिष्ट करती हैं।

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

इन सम्मेलनों का पालन करने से यह सुनिश्चित होता है कि आपका एपीआई डिज़ाइन कुशल और उपयोगकर्ता के अनुकूल दोनों है, जो अंततः आपके एपीआई के डेवलपर्स और उपभोक्ताओं दोनों के लिए अनुभव को बढ़ाता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/rahul_ranjan_7200/guide-to-rest-api-design-and-naming-conventions-46co?1 यदि कोई उल्लंघन है, तो हटाने के लिए कृपया [email protected] पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3