Лучший способ добавить опции «фильтра» в действие MVC для новой функции веб-API в ASP.NET MVC 4 - PullRequest
0 голосов
/ 04 марта 2012

Новый "материал" Web API выглядит великолепно. Я переписываю основу своего сайта в API, но у меня есть пара сценариев, с которыми я столкнулся.

Это плохая идея иметь действие, которое выглядит примерно так:

GetProducts(long memberId, string categories, int minPrice, int maxPrice, ...)

Где каждая переменная является чем-то, по которому продукт может фильтроваться. Если переменная имеет значение null / empty, она не будет использовать их для построения запроса.

Или есть другой способ достижения той же цели?

1 Ответ

1 голос
/ 04 марта 2012

Вы можете использовать модель вида:

public class FilterViewModel
{
    public long MemberId { get; set; }
    public string Categories { get; set; }
    public int MinPrice { get; set; }
    public int MaxPrice { get; set; }
    ...
}

и затем:

public IEnumerable<ProductViewModel> GetProducts(FilterViewModel filter)
{
    ...    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...