ODATAのWebAPIの文書にはa page about Attribute Routingがあります。ODataRoutePrefixAttributeを使用してC#ODATAコントローラを作成する場合、メソッドのパラメータではなくクラスのプロパティにパラメータをバインドする方法はありますか?
このページでは、特定のコントローラへのすべての要求が同じプレフィックスを持つ場合にODataRoutePrefixAttributeを使用する例があり、このプレフィックスにはパラメータを含めることができます。このサンプルでは、すべてのアクションメソッドが同じパラメーターを宣言しています。そのサンプルから:
[ODataRoutePrefix("Customers({id})")]
public class MyController : ODataController
{
[ODataRoute("Address")]
public IHttpActionResult GetAddress(int id)
{
......
}
[ODataRoute("Address/City")]
public IHttpActionResult GetCity(int id)
{
......
}
[ODataRoute("/Order")]
public IHttpActionResult GetOrder(int id)
{
......
}
}
Iはそれぞれ、すべてのメソッドにパラメータを繰り返さないようしたいとちょうどそれはこのように、クラスの特性である必要があります:
[ODataRoutePrefix("Customers({id})")]
public class MyController : ODataController
{
public int Id
{
get { ... }
}
[ODataRoute("Address")]
public IHttpActionResult GetAddress()
{
......
}
}
値を取得する方法パラメータとしてアクションメソッドに渡されない場合のURLからのid
パラメータの