ich die folgende Route definiert haben:ASP.Net WebAPI Routing-Konfiguration
GlobalConfiguration.Configuration.Routes.Add(
"iOS Service",
new HttpRoute("ios/{controller}/{action}/{id}", new HttpRouteValueDictionary { { "id", RouteParameter.Optional } })
);
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "iOS Service Documents",
routeTemplate: "ios/getfulldocumentstructure",
defaults: new { controller = "Documents", action = "GetFullDocumentStructure" }
);
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "iOS Service AppInfo",
routeTemplate: "ios/appinfo",
defaults: new { controller = "AppInfo", action = "GetAppInfo" }
);
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "iOS Service Html",
routeTemplate: "ios/html/{language}/{contentId}",
defaults: new { controller = "Html", action = "GetHtml", language = RouteParameter.Optional, contentId = RouteParameter.Optional }
);
Mit dem folgenden Controller:
public class HtmlController : ApiController
{
[HttpGet]
public string GetHtml(long language, long contentId)
{
return "Hello";
}
}
Wenn ich den Dienst treffen mit http://localhost/ios/html?languageId=1033&contentId=12345 die getHTML Aktion ausgelöst wird.
Wenn ich den Service unter Verwendung http://localhost/ios/html/1033/12345 treffe, erhalte ich einen Fehler, dass keine passende Aktion in der Steuerung gefunden wird.
Was mache ich falsch?
Haben Sie irgendwelche anderen Routen definiert, die Konflikte verursachen könnten? Wo wurde diese Route in Relation zu anderen Routen definiert? – Nkosi
Ich habe drei andere Routen definiert, aber die Fehlermeldung besagt, dass sie den richtigen Controller trifft. { "Nachricht": "Es wurde keine HTTP-Ressource gefunden, die mit der Anfrage-URI übereinstimmt" http: // localhost/ios/html/1033/2 ' . ", " MessageDetail ":" Es wurde keine Aktion auf dem Controller 'Html' gefunden, die mit dem Namen '1033' übereinstimmt. " } –
Nur weil es den richtigen Controller trifft, heißt das nicht, dass es die richtige Route trifft. Bitte posten Sie Ihre anderen Routen und die Reihenfolge, in der sie registriert sind. – NightOwl888