वर्तमान में मेरे पास एक डब्ल्यूसीएफ वेब एपीआई है जिसे मैंने दो संस्करणों में विभाजित किया है। पहला संस्करण api.mysite.com पर चलता है। दूसरा वर्तमान में उत्पादन के लिए प्रकाशित नहीं है।डब्ल्यूसीएफ वेब एपीआई संस्करण का सबसे अच्छा तरीका क्या है?
मैं दूसरी एपीआई प्रकाशित करने का एक तरीका चाहूंगा जैसे कि पहले संस्करण के लिए अनुरोध गैर-बाधित हैं। मेरे विचार x-api-version
शीर्षलेख जोड़ना होगा और आंतरिक रूप से निर्दिष्ट API को अनुरोध रूट करना होगा। अगर कोई शीर्ष लेख है, तो संस्करण 1. मैं संस्करण परिसीमित करने के लिए पथ की शुरुआत करने के लिए /v1
या /v2
जोड़ने पर विचार के लिए डिफ़ॉल्ट ऐसे V1 या V2 के लिए एक अनुरोध की तरह लग रहे हो सकता है कि:
http://api.mysite.com/v1/authentication/login
http://api.mysite.com/v2/auth/login
केवल चेतावनी यह है कि संस्करण के बिना अनुरोधों को वर्जन 1 (या जो संस्करण मैं निर्दिष्ट करता हूं) पर काम करना और डिफ़ॉल्ट होना चाहिए।
हालांकि यह अच्छा लगता है (कम से कम मेरे लिए), मुझे यकीन नहीं है कि यह लागू करने का अनुशंसित तरीका क्या होगा। मुझे पता है कि मैं हमेशा कुछ प्रकार की रिवर्स प्रॉक्सी कर सकता हूं, लेकिन मुझे आशा है कि मेरे समाधान एक प्रोग्रामिक हो सकते हैं। सर्वर के हिस्से पर आवश्यक कम विन्यास, बेहतर। अगर किसी के पास ब्लॉग/ट्यूटोरियल के लिए कोई विचार या लिंक है, तो यह शानदार होगा!
अग्रिम धन्यवाद!
यह है कि Google कैसे करता है ** v = 1.0 ** 'http: //ajax.googleapis.com/ajax/services/search/web? V = 1.0 और rsz = 8 और q = stackoverflow' –
मुझे लगता है कि 'वर्जन हेडर' और 'संस्करण यूआरआई' समान दृष्टिकोण के रूप में, और मैं दोनों का समर्थन करता हूं। यूआरआई में इसे डेवलपर्स के लिए बहुत उपयोगी है - यह ब्राउज़र के माध्यम से सेवाओं के साथ प्रयोग करना आसान बनाता है। मैं एक 'वर्जनलेस यूआरआई' का भी समर्थन करता हूं जो वर्तमान 'सक्रिय' संस्करण पर रीडायरेक्ट करता है (यह आमतौर पर नवीनतम संस्करण होगा, लेकिन आपके पास ऐसे परिदृश्य हो सकते हैं जहां आप नए संस्करणों को लेते हैं लेकिन उन्हें सार्वजनिक रूप से सक्रिय नहीं करते हैं)। यह वास्तव में आपके मानदंडों पर निर्भर करता है। – Adam
कार्यान्वयन के विवरण देखने के बाद, मेरा मानना है कि तकनीकी आसानी से मुझे यूआरआई दृष्टिकोण की ओर अधिक झुकाव करना होगा।हालांकि, मेरा मानना है कि मैं वर्तमान एपीआई के ग्राहकों को तोड़ने की अपनी मूल आवश्यकता को पूरा करते हुए भी इस दृष्टिकोण को ले सकता हूं। –