सोप, बाकी और लोगों की रचनात्मकता
एसओएपी को डब्ल्यूएसडीएल जैसे विवरण दस्तावेज की आवश्यकता होती है क्योंकि प्रत्येक संसाधन को विभिन्न संदेशों के साथ खाया जा सकता है, संभव नाम / संदेशों के लिए बाधाओं के बारे में प्रोटोकॉल पर कोई परिभाषा नहीं है कि आप किसी संसाधन में हेरफेर कर सकते हैं।
उदाहरण के लिए, SOAP में आपकी वेब सेवा जो ग्राहकों को एक उपयोगकर्ता को हेरफेर करने की अनुमति देती है, उस ऑपरेशन को उजागर कर सकती है जो उपयोगकर्ता को कई अलग-अलग संदेशों में बनाता है, जैसे:
addUser
createUser
insertUser
बेशक, ये केवल कुछ नमूना संदेश हैं, क्योंकि मैंने बहुत सारी अजीब वेब सेवाओं के नाम देखे हैं। वहाँ वास्तव में रचनात्मक लोग हैं।
दूसरी ओर, यदि आप वेब एप का उपयोग करके अपने अंतर्निहित सिस्टम को उजागर कर रहे हैं जो वास्तव में REST सिद्धांतों का सम्मान करते हैं, तो क्लाइंट को केवल यह जानना होगा कि आपके पास उपयोगकर्ता नाम का एक संसाधन है, क्योंकि 99% संभावना है कि आप इसमें उपयोगकर्ता बना सकते हैं मार्ग
POST /Users
और यह प्रत्येक ऑपरेशन के लिए होता है जिसे आप एसओएपी या वेब एप रीस्ट का उपयोग करके उजागर करना चाहते हैं।
SOAP एक प्रोटोकॉल होने के बावजूद, जो यह बताता है कि आप क्या कर सकते हैं या नहीं कर सकते हैं, और REST एक स्टाइल आर्किटेक्चर हो सकता है, जो चीजों को करने के कई खुले बिंदुओं को छोड़ देता है। REST वेब एप को उजागर करने और उपभोग करने की परंपराओं को परिभाषित करने के प्रयास हैं।
एक वेब एपीआई परीक्षा की स्थापना
वेब एप रीस्ट का वर्णन करने के क्षेत्र में मैं स्वैगर का हवाला दे सकता हूं । यह वेब एपीआई रीस्ट की तरह एक डब्ल्यूएसडीएल बनाने का प्रयास नहीं है, लेकिन वेब एप रीस्ट का वर्णन करने के लिए एक खुला मानक बनाने का यह एक अच्छा प्रयास है।
स्वैगर रेस्टफुल वेब सेवाओं का वर्णन, निर्माण, उपभोग और कल्पना करने के लिए एक विनिर्देश और पूर्ण रूपरेखा कार्यान्वयन है।
मैं स्वैगर का उपयोग करता हूं और वास्तव में इसे प्यार करता हूं, मुख्य रूप से क्योंकि स्वैगर यूआई जो आपको अपने मोबाइल ऐप के लिए एक अच्छा लाइव कंसोल और प्रलेखन उत्पन्न करने की अनुमति देता है।
अधिकांश भाषाओं के लिए स्वैगर के कई कार्यान्वयन हैं: सी #, जावा, पायथन, रूबी, आदि।
यदि आप ASP .NET वेब API का उपयोग कर रहे हैं, तो Swagger.NET की तरह स्वैगर विनिर्देश उत्पन्न करने के लिए कुछ प्रोजेक्ट्स ऑटो हैं
एक वेब एपीआई परीक्षा में उत्पन्न करने वाले ग्राहक
क्योंकि REST की बाध्यता, क्रियाओं के सीमित सेट (GET, POST, PUT, DELETE, आदि) की तरह एक वेब एप रीस्ट के लिए क्लाइंट लाइब्रेरी उत्पन्न करने के लिए इतनी भिन्न नहीं है।
WebApiProxy जैसी परियोजनाएं आसानी से ग्राहकों को C # और जावास्क्रिप्ट उत्पन्न कर सकती हैं।
वेब एपीआई परीक्षा के लिए विचार
डेवलपर्स के रूप में हमारे जीवन को बनाए रखने के लिए अच्छा है कि हमारे वेब एपीआई रीस्ट कैसे व्यवहार करेंगे के कुछ सम्मेलनों को परिभाषित करें, इस क्षेत्र में मुझे पता है कि सबसे अच्छा प्रयास बहुत अच्छा एपिगी है - वेब एप डिजाइन ईबुक । ई-बुक आपकी एपीआई को कैसे डिज़ाइन किया जाए, इसके बारे में एक बाइबल या एक मंत्र बनाने का प्रयास नहीं है, बल्कि बड़े वेब रीस्ट एप्स जैसे कि ट्विटर, फेसबुक, लिंक्डिन, गूगल, आदि में मनाया जाने वाला सम्मेलनों का संग्रह है।