春季启动时,HTTP网址不只接受路径变量中的点

时间:2018-07-30 07:46:28

标签: http spring-mvc spring-boot url servlets

假设我们的控制器是:

@RequestionMapping(value="/application/customer/{data}/test")
public void addCustomer(@PathVariable String data)
{

}

用户可以发送data之类的任何内容,包括点。但是,如果我们使用Postman或Web浏览器调用http://localhost:8088/dataengine/customer/./test,则URL将被转换为http://localhost:8088/dataengine/customer/test,并且会得到404资源找不到错误。

似乎路径变量.中的{data}被忽略了。我尝试使用以下代码解决此问题:

@Override
 public void configurePathMatch(PathMatchConfigurer configurer) {
     configurer.setUseSuffixPatternMatch(false);
    }

这也不起作用,因为它仅在数据为tom.harry之类的内容时才有用。在这种情况下,它不会截断点后的所有内容。但是,如果用户仅在路径变量中传递点(。),则无法使用。

0 个答案:

没有答案