В документации WebAPI ODATA есть a page about Attribute Routing.При написании контроллера C# ODATA с ODataRoutePrefixAttribute, как привязать параметры к свойствам класса вместо параметра в методе?
На этой странице приведен пример использования 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)
{
......
}
}
Я хотел бы избежать повторения параметра в каждом и каждый метод и просто это будет свойство класса, как это:
[ODataRoutePrefix("Customers({id})")]
public class MyController : ODataController
{
public int Id
{
get { ... }
}
[ODataRoute("Address")]
public IHttpActionResult GetAddress()
{
......
}
}
Как получить значение параметра id
из URL-адреса, если он не передан как параметр в метод действия?