Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带正则表达式的Spring URI模板模式_Java_Spring_Spring Mvc - Fatal编程技术网

Java 带正则表达式的Spring URI模板模式

Java 带正则表达式的Spring URI模板模式,java,spring,spring-mvc,Java,Spring,Spring Mvc,有人知道如何将此URI“”与@RequestMapping匹配 我尝试编写以下代码: @RequestMapping(value = "/user/{id}", method = RequestMethod.GET, headers = "Accept=application/xml") public void test(@PathVariable("id") String id) { System.out.println(id); return null; }

有人知道如何将此URI“”与@RequestMapping匹配

我尝试编写以下代码:

@RequestMapping(value = "/user/{id}", method = RequestMethod.GET, 
        headers = "Accept=application/xml")
public void test(@PathVariable("id") String id) {
    System.out.println(id);
    return null;
}
但问题是当我打印id时,值是:
127.0.0

可能出了什么问题?

如果您在Spring MVC中使用
@Configuration
-样式,这将实现以下功能:

@Configuration
public class Api extends WebMvcConfigurationSupport {

    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping() {
        RequestMappingHandlerMapping mapping = super.requestMappingHandlerMapping();
        mapping.setUseSuffixPatternMatch(false);
        return mapping;
    }

}
如您所见,您必须在
RequestMappingHandlerMapping
中禁用

另见:

参见SpEL文档:

您将需要执行以下操作:

@RequestMapping(value = "/user/{id:.*}", method = RequestMethod.GET,headers="Accept=application/xml" )
public void test(@PathVariable("id") String id) {

您是否尝试过url编码,然后对
id
变量进行解码?这会产生全局效果,在其特定实例中使用SpEL不是更好吗?@aweigold:这取决于OP想要什么。但是你的答案/解决方案+1看起来很有希望。当你实际扩展WebMVC配置支持时,你不应该删除@EnableWebMvc吗?谢谢,这段代码在不同的情况下帮助了我。不客气。如果此问题已解决,请单击“接受答案”按钮。