1

我正在开发一个 Web 项目并使用 Spring MVC 3.1.1。Spring MVC 用于提供 REST 服务(使用 URL 注释)

关于我的问题:

假设我的服务 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,但它不起作用。

我该如何解决这个问题?

4

1 回答 1

2

声明DefaultAnnotationHandlerMappingbeanuseDefaultSuffixPattern=false是正确的方法,但请确保您还注释掉:

<mvc:annotation-driven />

请参阅:如何更改 Spring MVC 在处理 url 'dot' 字符时的行为

于 2013-09-24T13:56:23.507 回答