2011-07-03 6 views
5

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

मैं इस article के माध्यम से गया लेकिन अभी तक इसका उपयोग नहीं किया गया।

एपीआई के बारे में सामान्य जानकारी मैं बनाना चाहता हूं:
एपीआई के उपयोगकर्ता के पास एपीआई का उपयोग करने में सक्षम होने के लिए एक प्रमुख उपयोगकर्ता नाम और पासवर्ड होगा।
एपीआई उपयोगकर्ताओं को इस डेटा को सत्यापित करने के बाद मेरे डीबी में सामग्री जोड़ने देगा।
एपीआई उपयोगकर्ताओं को मेरे सर्वर पर छवियों को अपलोड करने देगा।
एपीआई के अनुकूल दोस्ताना यूआरएल होना चाहिए।

मेरे मामले में कौन सी तकनीक फिट होगी?

यह भी तय करने में मेरी सहायता करेगा कि स्टैक ओवरफ्लो एपीआई के पीछे तकनीक क्या है?

+6

यदि आपके पास पहले से ही एएसपी.नेट एमवीसी में निर्मित वेबसाइट है, [ओडाटा और डब्ल्यूसीएफ डाटा सर्विसेज] [http://msdn.microsoft.com/en-us/data/aa937697) (जिसे आप कॉल करते हैं) एडीओ.NET डेटा सर्विसेज ") एक भयानक ओवरहेड लेता है जब तक कि आप विशेष रूप से ओडाटा को लक्षित नहीं करना चाहते हैं और/या अन्य डब्ल्यूसीएफ डाटा सर्विसेज विवरणों का लाभ लेना चाहते हैं। एमवीसी में एक रीस्टफुल एपीआई परत जोड़ना तुच्छ है। उपरोक्त टिप्पणी के लिए – bzlm

+0

+1, पूरी तरह से सहमत हैं। – RPM1984

+0

ठीक है, stackoverflow.com के बारे में क्या, यह एमवीसी है, क्या आप जानते हैं कि इसके एपीआई के साथ क्या बनाया गया है? –

उत्तर

8

WCF Web Api आज़माएं। यह अच्छी RESTFUL एपीआई बनाने के लिए सभी अच्छी चीजें मिल गई है, और यह आपकी सभी आवश्यकताओं को पूरा करती है।

  • आप मूल या कुछ कस्टम http प्रमाणीकरण का उपयोग करेंगे, उतना सरल।
  • डेटा बनाने, सत्यापित करने और प्रतिक्रिया वापस करने के लिए आप बहुत ही बुनियादी यूआरएल का पर्दाफाश करेंगे, तुच्छ।
  • RESTFul का मतलब दोस्ताना यूआरएल-एस है।

सामान्य विचार यह है कि यह लाइब्रेरी आपको इसकी प्रतिक्रिया तक अनुरोध की शुरुआत से ही मजबूत हेरफेर विकल्प प्रदान करती है। यह .NET Framework और WCF के लिए मुख्य HTTP एपीआई है और यह इसके विकास को जारी रखता है।

+0

एफएक्यू के मुताबिक, अभी तक उत्पादन वातावरण में इसका उपयोग करने की अनुमति नहीं है। – muratgu

1

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

आपकी वेबसाइट और आपके एपीआई के बीच इंटरफेस के समान होने के आधार पर आप अपने मौजूदा नियंत्रकों/कार्यों का उपयोग करने या नए बनाने में सक्षम हो सकते हैं। सिद्धांत रूप में यदि HTTP अनुरोध "एप्लिकेशन/जेसन" इंगित करता है तो आप उन अनुरोधों पर जेएसओएन वापस कर सकते हैं और किया जा सकता है ... लेकिन व्यावहारिक रूप से आपको शायद अपने नए दोस्ताना बनाने के लिए अंतिम बिंदु (नियंत्रक/क्रियाएं) को ट्विक करने की आवश्यकता होगी उपभोक्ता (आपके एपीआई को लक्षित करने वाले अन्य डेवलपर्स)

डब्ल्यूसीएफ बहुत अच्छा है और समृद्ध है लेकिन सभी इससे परिचित नहीं हैं। आप सीखने की वक्र को इसकी अच्छी समझ प्राप्त कर सकते हैं। दोबारा, यदि इसके लिए एक बहुत ही वैध कारण है तो यह इसके लायक है, लेकिन जो आप वर्णन कर रहे हैं उससे आप संभवतः सादा एएसपी.नेट एमवीसी के साथ उतने ही अच्छे होंगे।

3

क्या आपने OpenRasta का उपयोग करने के बजाय विचार किया है?

इसका साफ, रीस्टफुल दृष्टिकोण यह .NET में वेब-आधारित एपीआई विकसित करने के लिए आदर्श रूप से उपयुक्त बनाता है।

संबंधित मुद्दे