RESTful 原則を使用して WebAPI プロジェクトをセットアップしようとしていますが、ルート構成についてサポートが必要です。
ここに私が WebAPIConfig.cs で宣言したルートがあります
config.Routes.MapHttpRoute(
name: "API Child Default",
routeTemplate: "api/v{version}/{controller}/{id}/{child}",
defaults: new { version = "1", action = "Index", child = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi With Version",
routeTemplate: "api/v{version}/{controller}/{id}",
defaults: new { version = "1", action = "Index", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { version = RouteParameter.Optional, id = RouteParameter.Optional }
);
コントローラーのアクション宣言は次のとおりです。
public class EventsController : ApiController
{
// GET api/v1/Events
public IEnumerable<string> Get(string version)
{
return new string[] { "value1", "value2" };
}
}
これは、コントローラー アクションが見つからない、私が呼び出した要求です: GET /api/v1/Events HTTP/1.1
上記を使用すると見つからないというエラーが発生する理由とその修正方法を誰かに教えてもらえますか?