Java 带正则表达式的Spring URI模板模式
有人知道如何将此URI“”与@RequestMapping匹配 我尝试编写以下代码: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; }
@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
中禁用
另见:
@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吗?谢谢,这段代码在不同的情况下帮助了我。不客气。如果此问题已解决,请单击“接受答案”按钮。