Web APIコントローラーでカスタムメソッドを作成したいので、すべてのデータを返すだけでなく、パラメーターで渡すことができます。たとえば、コントローラーはStandingControllerと呼ばれ、GetStandingsBySeason(文字列シーズン)と呼ばれるメソッドを作成します。WebApiConfigを次のように変更しました:
config.Routes.MapHttpRoute(
"DefaultApi",
"api/{controller}/{id}",
new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
"DefaultApiWithAction",
"api/{controller}/{action}/{id}",
new { id = RouteParameter.Optional }
);
そして、これが私のコントローラーのメソッドです:
public IEnumerable<StandingDTO> GetStandingsBySeason(string season)
{
return _repository.GetStandingsBySeason(season).Select(Mapper.Map<StandingDTO>);
}
そして私のフロントエンドでは、私はそれをこのように呼んでいます:
$.getJSON("/api/standing/GetStandingsBySeason/2011", self.standings);
しかし、メソッドが呼び出されることはありません。誰かが私がこれで間違っていることに光を当てることができますか?