मैं एक अभिभावक नियंत्रक वर्ग को परिभाषित करने में सक्षम होना चाहता हूं जिसमें "/ api" का मैपिंग होगा, और फिर मेरे नियंत्रक के साथ उस नियंत्रक का विस्तार करें। तो ApiController होगा:स्प्रिंग नियंत्रकों को लागू करते समय एक सामान्य पैरेंट पथ साझा करें
@Controller
@RequestMapping("/api")
उदाहरण के लिए, मेरे उपयोगकर्ता नियंत्रक Base API नियंत्रक का विस्तार है और यह भी पथ के लिए "/ उपयोगकर्ताओं" जोड़ना चाहिए, तो यह "/ API/उपयोगकर्ताओं" अनुरोध करने के लिए जवाब देंगे। तो UserController होगा:
@Controller
@RequestMapping("/users")
लेकिन जब से यह ApiController फैली हुई है, यह प्रभावी रूप से/API/उपयोगकर्ताओं के जवाब देंगे।
स्वाभाविक रूप से मैं सभी नियंत्रकों को "/ एपीआई" प्रीपेड कर सकता हूं ताकि यह मूल वर्ग के बिना हासिल किया जा सके, लेकिन यदि संभव हो तो मैं इसे "सही तरीका" करना पसंद करता हूं, ताकि मैं अपने एपीआई कार्यान्वयन को परिभाषित कर सकूं क्लीनर और अधिक दृश्यमान पथ।
मैंने एपीकंट्रोलर बेस क्लास को विस्तारित करने का प्रयास किया, लेकिन यह काम नहीं करता है, UserController अभी भी "/ उपयोगकर्ता" का जवाब देता है और बेस क्लास "/ api" को अनदेखा करता है।
हाय, क्षमा करें, मैंने आपके उत्तर को किसी भी तरह से याद किया होगा। दुर्भाग्य से यह मेरी ज़रूरत नहीं करेगा, क्योंकि मैं कार्यान्वयन कक्षाओं को अपना "बेस" मैपिंग भी रखना चाहता हूं, इसलिए विस्तारित एबस्ट्रक्शन नियंत्रक के पास @RequestMapping ("/ else") एनोटेशन होना चाहिए ताकि उसके सभी तरीकों में यह उपसर्ग हो। आपके समाधान में, अनुरोध मैपिंग एनोटेशन के साथ केवल विधियों ने एनोटेशन बढ़ाया होगा। – TheZuck
@TheZuck हाँ, मैं देखता हूं और मुझे पता है कि आपको क्या चाहिए। : [बस आपकी मदद करने की कोशिश की गई थी। :) इस समय वसंत एनोटेशन की विरासत का समर्थन नहीं करता है जैसा कि आप चाहते हैं ... बीटीडब्ल्यू आप वसंत जेरा में जा सकते हैं और इसके सुझावों के साथ नए मुद्दे बना सकते हैं। ;) – masted