Gibt es eine Möglichkeit, Querystring-Parameter an einen ASP.NET MVC4-Web-API-Controller zu übergeben, ohne die hier beschriebenen OData-Konventionen zu verwenden?Übergeben von Querystring-Parametern ohne Verwendung von OData-Konventionen?
http://www.asp.net/web-api/overview/web-api-routing-and-actions/paging-and-querying
Ich habe einige Repository Methoden Dapper gebaut, die nicht wollen IQueryable unterstützen und in der Lage sein, diese manuell Paginieren, ohne die OData Konventionen, aber wenn ich es die traditionelle ASP.NET Weise versuchen zu tun Ich bekomme "route not found" Fehler.
Zum Beispiel, hier ist ein Weg:
context.Routes.MapHttpRoute(
name: "APIv1_api_pagination",
routeTemplate: "api/v1/{controller}/{id}",
defaults: new { area = AreaName, controller = "category", offset = 0, count = 100});
Und hier ist die Unterschrift
public class CategoryController : ApiController
{
// GET /api/<controller>
public HttpResponseMessage Get(int id, int offset = 0, int count = 0)
übereinstimmen Und wenn ich übergeben Sie die folgende Abfrage:
http://localhost/api/v1/category/1?offset=10
ich der folgende Fehler:
Haben Sie Vorschläge zum Arbeiten mit Querystrings in ASP.NET MVC4 Web API?
Ich glaube, das könnte ein Fehler in WebAPI sein. Könnten Sie versuchen, den Parameter Ihrer Aktionsmethode so zu ändern, dass er keine Standardwerte enthält (und eine Anforderung mit allen erforderlichen Werten in der Abfragezeichenfolge ausgibt). – marcind
Sicher marcind, ich werde es versuchen. – Aaronontheweb