WebApi动作控制器问题

时间:2015-11-06 19:41:48

标签: asp.net-web-api-routing

我的控制器动作:

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错误。 有人能看到问题吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

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

public IHttpActionResult Get(int id)