Uri PathExtensionMappingをWebAPIで機能させようとしています。ルートを正しく設定しました:
routes.MapHttpRoute(
name: "Api with extension",
routeTemplate: "api/{controller}.{ext}/{id}",
defaults: new { id = RouteParameter.Optional, ext = RouteParameter.Optional }
);
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
また、デフォルトルート(例:/api/products.json/123 )でも問題なく動作しますが、他の方法(例:/api/products.json?categoryid=5)ではエラーメッセージが表示されます。
"No action was found on the controller 'Products' that matches the request."
すべてのルーティング作業は、拡張子なしで検出されます(例:/ api / products/123および/api/ products?categoryid = 5 ) 。誰か私が欠けているアイデアはありますか?