मैंने अभी Restful Web Services और Nobody Understands REST or HTTP पढ़ना समाप्त कर दिया है और एक एपीआई को एक शानदार डिजाइन के साथ डिजाइन करने की कोशिश कर रहा हूं।कोई यूआरआई में 'एपीआई' के साथ एक रीस्टफुल एपीआई क्यों डिजाइन करेगा?
मैं एपीआई यूआरआई डिजाइन में कुछ पैटर्न देखा है:
http://api.example.com/users
http://example.com/api/users
http://example.com/users
मान लें कि इन डिजाइनों ठीक से एक्सएचटीएमएल, JSON, या किसी भी प्रारूप के बीच content negotiations के लिए Accept
और Content-type
हेडर का उपयोग करें।
इन यूआरआइ एक शुद्ध RESTful कार्यान्वयन बनाम निहित सामग्री बातचीत की बात है क्या?
मेरे विचार कर रहे हैं कि स्पष्ट रूप से यूआरआई में एपीआई का उपयोग कर रहा है, ताकि एक ग्राहक एक डेटा स्वरूप है जो स्वाभाविक मानव मनभावन हाइपरमीडिया नहीं है और अधिक आसानी से स्पष्ट रूप से एक Accept
हैडर की स्थापना के बिना भस्म हो सकता है उम्मीद होगी। दूसरे शब्दों में, एपीआई यह कह रहा है कि आप एक्सएचटीएमएल की बजाय जेएसओएन या एक्सएमएल की अपेक्षा करते हैं।
क्या यह सर्वर के पक्ष में संसाधन प्रतिनिधित्व को अलग करने का विषय है?
केवल औचित्य मैं जाता है क्योंकि, मेरी धारणा है कि यह एक स्केलिंग तकनीक है आधारित क्यों किसी को उनकी यूआरआई के डिजाइन होगा एक API उप डोमेन से के लिए साथ आने सकते हैं, यह मार्ग अनुरोध लोड एक बहु में आसान बनाना चाहिए टायर सर्वर बुनियादी ढांचे। हो सकता है कि स्थितियां मौजूद हों जहां रिवर्स प्रॉक्सी हेडर को अलग कर रहे हों? मुझे नहीं पता। विभिन्न प्रस्तुतियों को संभालने वाले विभिन्न सर्वर?
शायद बाहरी उपभोक्ताओं के लिए एक सबडोमेन का उपयोग किया जाता है ताकि सर्वर आंतरिक उपयोग से ओवरहेड से बचा जा सके। दर सीमित?
क्या मुझे कोई बिंदु नहीं है?
मेरे प्रस्तावित डिजाइन, उचित हेडर की स्थापना उचित रूप से HTTP क्रियाओं का उपयोग करके और एक फैशन है कि मैं यूआरआई में 'एपीआई' सहित बेमानी होगा महसूस में संसाधनों के लिए कार्य करके RESTful प्रक्रियाओं का पालन करने का प्रयास करेंगे।
कोई यूआरआई में 'एपीआई' के साथ एक रीस्टफुल एपीआई क्यों डिजाइन करेगा?
या वे कर सकते हैं? हो सकता है कि इस डिजाइन को समझने में मेरी समस्या यह है कि इससे कोई फर्क नहीं पड़ता जब तक यह विनिर्देश के कुछ संयोजन का पालन करता है जो एक वास्तविक API कार्यान्वयन का कारण नहीं बन सकता है लेकिन बंद हो सकता है? कुंजीपटल बिल्ली को त्वचा के एक से अधिक तरीके हैं। HATEOAS संबंधित?
अद्यतन: इस विषय मैं निष्कर्ष है कि यह महत्वपूर्ण है बाकी से विचारों को विचार करने के लिए, लेकिन एक धर्म के रूप में यह इलाज के लिए नहीं आए हैं शोध है। इस प्रकार, यूआरआई में 'एपीआई' होना चाहिए या नहीं, एक स्थिर नियम की तुलना में एक डिजाइन निर्णय अधिक है। यदि आप अपनी वेबसाइट के एपीआई को सार्वजनिक रूप से बेनकाब करने की योजना बना रहे हैं तो एप्लिकेशन के तर्क से निपटने में मदद के लिए एपीआई सबडोमेन का उपयोग करना एक अच्छा विचार होगा।मुझे उम्मीद है कि कोई दूसरों से सीखने के लिए अपनी अंतर्दृष्टि का योगदान देगा।