java - Spring @PathVariable without ending slash (String with IP address) -
यह मेरे नियंत्रक का हिस्सा है:
@RequestMapping (value = "/ json / GetPCs / {serverAddress} ", विधि = RequestMethod.GET) सार्वजनिक @ResponseBody सूची & lt; पीसी & gt; GetPCForServerJSON (@PathVariable स्ट्रिंग सर्वर पता) {logger.info ("सर्वर पता:" + सर्वर पता); वापसी PCManager.findByServer (serverManager.findByAddress (serverAddress)); } ब्राउज़र में मैं URL http: // localhost: 8080 / test / pc / json / getPCs / 192.168.200.1 पर जाएं लॉग में मैं देख रहा हूँ:
INFO: net.example.test.PCController - सर्वर प्रविष्टियाँ: 1 9 82.1200 अगर मैं यूआरएल Http: // localhost: 8080 / test / pc / json / getPCs / 192.168.200.1 / अंत में स्लैश के साथ यह ठीक है: जानकारी: net.example.test पीसीकंट्रोलर - सर्वर शामिल: 192.168.200.1 क्यों? मैं स्लैश को समाप्त किए बिना यूआरएल का उपयोग करना चाहूंगा।
अपनी RequestMappingHandlerMapping
@ ओवरराइड सार्वजनिक अनुरोध मेपिंगहैंडलर मैपिंग अनुरोध मैपिंगहाँडलर मैपिंग () {RequestMappingHandlerMapping मानचित्रण = सुपर। अनुरोधमॅपिंगहैंडलरमैपिंग (); mapping.setUseSuffixPatternMatch (गलत); वापसी मानचित्रण; } यह कॉन्फ़िगरेशन पैरामीटर सक्षम है ( true ) डिफ़ॉल्ट रूप से यदि "मैप्स" को भी "/ उपयोगकर्ता" में मैप किया गया है {serverAddress} [।]। * // ^ सचमुच एक डॉट तो मान दिया
192.168.200.1 यह केवल कैप्चर करता है
192.168.200 इसे अक्षम करने से आपको वह व्यवहार मिल जाएगा जो आप चाहते हैं ।
Comments
Post a Comment