2012-07-05 15 views
14

में एकाधिक @PathVariable दुर्भाग्य से इसका उत्तर नहीं मिला, इसलिए उम्मीद है कि कोई मदद कर सकता है।वसंत एमवीसी

वसंत MVC 3.1.0 में यहाँ मेरी विधि है:

@RequestMapping(value = "/{app}/conf/{fnm}", method=RequestMethod.GET) 
public ResponseEntity<?> getConf(@PathVariable String app, @PathVariable String fnm) { 
    log.debug("AppName:" + app); 
    log.debug("fName:" + fnm); 
      ... 
      return ... 
    } 

मैं कुछ उदाहरण ऑनलाइन देखा है और ऐसा लगता है वहाँ सिद्धांत में कई @PathVariables होने में कोई समस्या नहीं है।

हालांकि जब मैं ऐसा करता हूं, तो "ऐप" और "एफएनएम" दोनों में एक ही मान होता है (जो कि "ऐप" को जो भी मूल्य दिया गया था)।

वास्तव में किसी भी अंतर्दृष्टि की सराहना करते हैं जहां कोई गलत हो रहा है?

धन्यवाद!

+0

जो काम करना चाहिए, आपको यकीन है कि आप इसे सही तरीके से कॉल कर रहे हैं? – NimChimpsky

उत्तर

24
@RequestMapping(value = "/{app}/conf/{fnm}", method=RequestMethod.GET) 
public ResponseEntity<?> getConf(@PathVariable("app") String app, @PathVariable("fnm") String fnm) { 
    log.debug("AppName:" + app); 
    log.debug("fName:" + fnm); 
      ... 
      return ... 
    } 

मूल रूप से पथ चर को विधि तर्कों में, कोष्ठक के साथ निर्दिष्ट करने की आवश्यकता है। क्या इससे मदद मिलती है?

+0

क्षमा करें, मुझे यह निर्दिष्ट करना चाहिए था। मैंने वैरिएबल नाम के बिना चर नाम के साथ परीक्षण किया है और स्पष्ट रूप से कोशिश कर रहा है (value = "_ some_pathvarname")। जिनमें से सभी एक ही परिणाम उत्पन्न करते हैं :( – user1389920

+0

@ user1389920: क्या आपने विभिन्न मूल्यों के साथ हार्डकोडिंग अनुरोध url की कोशिश की है; उदाहरण के लिए:/XYZ/conf/ABC और फिर जांचें कि नियंत्रक को मैप किया गया है? यह सत्यापित करना है कि अनुरोध सही है गठित ... –

+0

धन्यवाद, समस्या मिली। एफएनएम काटा जा रहा था, इसलिए परीक्षण मूल्यों को वही देखा गया ... माफ की थोड़ी सी चीज इस पर फीका। मेरे पास सही रेगेक्स है और यह काम कर रहा है, मदद के लिए सभी को धन्यवाद! – user1389920