Есть ли способ передать параметры строки запроса контроллеру ASP.NET MVC4 Web Api без используя изложенные здесь соглашения OData?
http://www.asp.net/web-api/overview/web-api-routing-and-actions/paging-and-querying
У меня есть несколько методов репозитория, созданных с использованием Dapper, которые не поддерживают IQueryable и хочу иметь возможность вручную разбивать их на страницы без использования соглашений OData, но всякий раз, когда я пытаюсь сделать это традиционным способом ASP.NET, я получаю ошибки «маршрут не найден».
Например, вот маршрут:
context.Routes.MapHttpRoute(
name: "APIv1_api_pagination",
routeTemplate: "api/v1/{controller}/{id}",
defaults: new { area = AreaName, controller = "category", offset = 0, count = 100});
И вот подпись для соответствия
public class CategoryController : ApiController
{
// GET /api/
public HttpResponseMessage Get(int id, int offset = 0, int count = 0)
И каждый раз, когда я передаю следующий запрос:
http://localhost/api/v1/category/1?offset=10
Я получаю следующую ошибку:
В контроллере «Категория» не найдено действие, соответствующее запрос.
Есть предложения по разумной работе со строками запросов в ASP.NET MVC4 Web Api?