【发布时间】:2013-04-04 13:17:40
【问题描述】:
在从 XML 设置转移到 JavaConfig 设置后,我们的许多 RequestMappings 已经损坏,现在返回模棱两可的方法错误。我们的方法依赖于带有正则表达式的@PathVariable 来确定调用哪个。例如:
@RequestMapping(value={"/{id:\\d+}/boats"})
public String getBoatsById(@PathVariable("id") Long id, Model model,
HttpServletRequest request) throws Exception {...}
@RequestMapping(value={"/{id}/boats"})
public String getBoatsByName(@PathVariable("id") String id, Model model,
HttpServletRequest request) throws Exception {...}
这种用法可以正常工作,但使用新的 JavaConfig 设置与 XML 设置相比,它会因映射而出现模棱两可的错误。
JavaConfig 类是这样开始的:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example", excludeFilters = { @ComponentScan.Filter( Configuration.class ) })
public class WebConfig extends WebMvcConfigurationSupport
这与使用 AnnotationMethodHandlerAdapter 的 XML 设置与现在使用推荐的 RequestMappingHandlerAdapter 的 JavaConfig 类有什么关系吗?有没有我缺少的设置?
【问题讨论】:
标签: spring spring-mvc annotations ambiguous