我正在开发一个Web项目并使用Spring MVC 3.1.1。 Spring MVC用于提供REST服务(使用URL注释)
关于我的问题:
假设我的服务网址路径为;
http://localhost:8080/MyAppName/services/meteo/queryWeatherData/lon/39.1123/lat/39.3123
我的控制器方法是;
@RequestMapping(method = RequestMethod.GET, value = {"/queryWeatherData/lon/{lon}/lat/{lat}"})
public void queryWeatherData(
final @PathVariable("lon") float lon,
final @PathVariable("lat") float lat,
final HttpServletResponse response, final HttpServletRequest request) {
//
// DO STUFF and prepare response
//
}
我看到第二个参数(lat)在“。”之后被截断。所以我看到服务器端的值是39.0。
我尝试在app-context.xml中声明一个DefaultAnnotationHandlerMapping bean,并将其useDefaultSuffixPattern设置为false,但它不起作用。
我该如何解决这个问题?
答案 0 :(得分:2)
使用DefaultAnnotationHandlerMapping
声明useDefaultSuffixPattern=false
bean是正确的方法,但请确保您也注释掉:
<mvc:annotation-driven />
请参阅:How to change Spring MVC's behavior in handling url 'dot' character