Ich habe eine WebAPI,kann nicht WebAPI mit Controller-und Action-Namen
public class SystemHealtController : ApiController
{
[HttpGet]
public IHttpActionResult UpdateUsageDetail(string cpuUsage, string memoryUsage, string diskUsage)
{
// Do Stuff
return Ok();
}
RouteConfig auch Standardeinstellungen haben,
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Job", action = "Index", id = UrlParameter.Optional }
);
}
}
Aber wenn ich zu API-URL navigieren, http://localhost:64384/API/SystemHealt/UpdateUsageDetail?cpuUsage=2&memoryUsage=4&diskUsage=76
, erhalten folgender Fehler:
Das einzige, was ich vermute, ist, bevor Sie Controle erstellen r, ich installierte
Microsoft.AspNet.WebApi
und dann deinstalliert als auch Verdacht, dass das Problem sein könnte. Aber auch nach der Deinstallation gab es keine Fehler.
Sie haben MVC-Routen und keine Web-API-Routen angezeigt (siehe [diesen Artikel] (https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and) -actions/routing-in-aspnet-web-api) für die Einrichtung. –
Der erste Code ist Web API Route und der zweite Code ist MVC Route Config. Zeigen Sie Ihre API-Route (gestartet mit 'public static void Register' in' WebApiConfig'-Datei). –