コメントに記載されているように、ケネスの提案は機能しません。
ただし、IHttpControllerSelector の独自の実装を作成し、API ルートをマップするときにのみ割り当てることができます。この記事の実装をベースとして使用し、それを変更しました。
次に、次のように WebApiConfig でルートをマッピングした後、デフォルトのセレクターを置き換えるという小さな問題です (CustomControllerSelector は私の実装です)。
public static void Register(HttpConfiguration configuration)
{
var apiRoute = configuration.Routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional, controllerNamespace = "api" }
);
configuration.Services.Replace(typeof(IHttpControllerSelector), new CustomControllerSelector(configuration));
}