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 クラスに何か関係がありますか? 不足している設定はありますか?