WebApi 动作控制器的问题

Issue with a WebApi action controller

我的控制器操作:

public IHttpActionResult GetPdf(int file)

来电ajax:

var self = this;
    var url = "api/pdfs/1";
    $.getJSON(url, function (data)...

路由模式:

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

当我执行代码时出现 HTTP 404 错误。 有人可以看到问题吗? 谢谢。

正在进行的 WebAPI 版本可能有不同的约定,但我认为在简单情况下最安全的方法是在 HTTP 动词之后命名方法。此外,请注意您的路由需要一个 id 参数:

routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }

但是您将参数命名为 file。结合这两个建议并将您的方法重新定义为:

public IHttpActionResult Get(int id)