में सुरुचिपूर्ण एपीआई संस्करणिंग इस समय मैं अपने रेल एप्लिकेशन में हमारे आरईएसटी एपीआई के लिए संस्करण लागू कर रहा हूं। क्या इसका कोई तरीका लागू किया जा सकता है ताकि आप केवल नए संस्करणों में नई कार्यक्षमता को परिभाषित कर सकें? उदाहरण के लिए कहें:रेल
मेरे पास एक उपयोगकर्ता नियंत्रक और उत्पाद नियंत्रक है। वी 1 और वी 2 के बीच उत्पाद वही रहे हैं, लेकिन उपयोगकर्ता बदल गए हैं। यह अच्छा होगा अगर हम इसे सेट अप कर सकें ताकि अगर मैं उत्पादों के वी 2 के लिए कॉल करूँ, तो मेरा आवेदन जानता है कि यह अस्तित्व में नहीं है और इसके बजाय सबसे हालिया नियंत्रक संस्करण का उपयोग करता है (इस मामले में, वी 1)। यह हमें हर संस्करण के लिए नियंत्रकों का एक नया सेट बनाने की अनुमति नहीं देगा; हम केवल उस विशिष्ट कार्यक्षमता के लिए नए नियंत्रक बनाएंगे जो बदल गए हैं।
नीचे हमारे रूट्स.आरबी से एक स्निपेट है, और स्वीकार्य रूप से मुझे नहीं पता कि इस समस्या से कैसे निपटें। किसी भी तरह की सहायता का स्वागत किया जाएगा!
namespace :api do
scope module: :v1, constraints: ApiConstraints.new(version: 1) do
resources :users
resources :products
end
scope module: :v2, constraints: ApiConstraints.new(version: 2) do
resources :users
end
end
त्वरित उत्तर के लिए धन्यवाद! हमारी टीम पहले ही आरएबीएल का उपयोग कर रही है, इसलिए आदर्श रूप से हम अंगूर में उन विचारों का पुन: उपयोग करना चाहते हैं। मैं अभी अंगूर में देख रहा हूं और एक बार मेरे पास एक कार्यान्वयन कार्यान्वयन हो जाने पर मैं इसे उत्तर के रूप में चिह्नित करूंगा। – NSCodeCasts