2015-03-17 7 views
6

मेरी REST API में जो स्प्रिंग फ्रेमवर्क का प्रयोग करके विकसित की है के साथ विकसित प्राप्त सक्षम नहीं है, मैं है एक रेस्ट अंत बिंदु जो दो डबल मान प्राप्त करते हैं, बाकी कॉल है: http://localhost:8080/restapp/events/nearby/12.910967/77.599570बाकी एपीआई में डबल डेटा प्रकार स्प्रिंग

यहाँ

, पहला पैरामीटर (डबल डेटाटाइप) यानी 12.910 9 67 मैं सही ढंग से प्राप्त कर सकता हूं यानी, 12.910 9 67। लेकिन दूसरा पैरामीटर i.e, 77.599570 मैं दशमलव बिंदु छंटनी के बाद डेटा केवल 77.0 प्राप्त कर सकता हूं।

मेरी बाकी बैकएंड है:

@RequestMapping(value = "/nearby/{lat}/{lngi}", method = RequestMethod.GET, produces = "application/json") 
public List<Event> getNearByEvents(@PathVariable("lat") Double lat, @PathVariable("lngi") Double lngi, HttpServletResponse response) throws IOException 

कैसे REST API में डबल डेटा प्रकार प्राप्त?

उत्तर

2

अद्यतन के रूप में नीचे अपना कोड - नोट {lngi:.+} जो एक regex अर्थ निर्दिष्ट करता है कुछ अक्षर दिखाई देगी पद .

@RequestMapping(value = "/nearby/{lat}/{lngi:.+}", method = RequestMethod.GET, produces = "application/json") 
public List<Event> getNearByEvents(@PathVariable("lat") Double lat, @PathVariable("lngi") Double lngi, HttpServletResponse response) throws IOException 
0

आप अपने RequestMapping मूल्य में regex के साथ पूरे मूल्य के लिए मजबूर करने की कोशिश कर सकते हैं:

@RequestMapping(value = "/nearby/{lat}/{lngi:\d+\.\d+}") 
1

मुझे लगता है कि यह वही समस्या हो सकती है जैसा कि यहां वर्णित है:

क्या सूचना मिली थी कि कुछ भेजे यूआरएल के लिए प्रत्यय मिलान लागू करने का प्रयास कर रहा था ... और है कि अंतिम पथ घटक में पहली डॉट के बाद सब कुछ लेने गया था।

वास्तव में, यह व्यवहार एक बग नहीं समझा गया था, और वसंत 3.1 में तय किया गया था:

संबंधित मुद्दे