从 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 类有什么关系吗?有没有我缺少的设置?