¿Hay alguna forma de pasar los parámetros de la cadena de consulta a un controlador ASP.NET MVC4 Web Api sin utilizar las convenciones OData descritas aquí?¿Pasar los parámetros de la cadena de consulta sin utilizar las convenciones de OData?
http://www.asp.net/web-api/overview/web-api-routing-and-actions/paging-and-querying
que tienen algunos métodos de depósito construyen utilizando apuesto que no soportan IQueryable y quieren ser capaces de paginar manualmente sin necesidad de utilizar las convenciones OData, pero cada vez que intento hacerlo de la manera tradicional de ASP.NET Obtengo errores de "ruta no encontrada".
Por ejemplo, aquí es una ruta:
context.Routes.MapHttpRoute(
name: "APIv1_api_pagination",
routeTemplate: "api/v1/{controller}/{id}",
defaults: new { area = AreaName, controller = "category", offset = 0, count = 100});
Y aquí está la firma para que coincida con
public class CategoryController : ApiController
{
// GET /api/<controller>
public HttpResponseMessage Get(int id, int offset = 0, int count = 0)
Y cuando paso la siguiente consulta:
http://localhost/api/v1/category/1?offset=10
consigo el siguiente error:
No action was found on the controller 'Category' that matches the request.
¿Alguna sugerencia sobre cómo trabajar con querystrings sanely en ASP.NET MVC4 Web Api?
Creo que esto podría ser un error en WebAPI. ¿Podría intentar cambiar su parámetro de método de acción para no tener valores predeterminados (y emitir una solicitud con todos los valores requeridos en la cadena de consulta). – marcind
Sure marcind, voy a intentar esto. – Aaronontheweb