运行 WebAPI 的路径

Path to Run WebAPI

我很难用浏览器或 PostMan 运行 API。问题是路径,所以我得到 404 错误。

这是路径:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

还有网络API配置:

public static void Register(HttpConfiguration config)
{
    config.EnableCors();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "v{version}/{controller}/{action}/{id}",
        defaults: new {id = RouteParameter.Optional});

    config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));

    config.MessageHandlers.Add(new AuthHandler());
}

这是我需要的控制器方法 运行:

public class BankViewerController : ApiController
{
    [HttpGet]
    public List<BuilderList> GetBuilderList()
    {
        //......
    }
}

我尝试的路径是:

http://localhost:62815/BankViewerController/GetBuilderList

它甚至没有到达方法的第一行,它给了我 404 错误,所以我很确定它是路径。

给定的路线模板:

routeTemplate: "v{version}/{controller}/{action}/{id}",

您调用了与模板不匹配的错误URL

http://localhost:62815/BankViewerController/GetBuilderList

您将需要

http://localhost:62815/v1/BankViewer/GetBuilderList

调用 URL 时从控制器名称中排除 Controller。这是一个惯例。