2015-11-06 110 views
0

我的控制器操作:問題用的WebAPI動作控制器

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錯誤。 有人可以看到問題嗎? 謝謝。

+0

該方法不應該被稱爲'Get'嗎?什麼是控制器命名? – David

+0

控制器名稱是PdfsController。 – Tuximo

回答

1

WebAPI的正在進行版本可能有不同的約定,但我認爲最簡單的情況下最安全的方法是在HTTP動詞之後命名該方法。此外,請注意您的路由期待一個id參數:

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

但你命名你的參數file代替。結合這兩個建議並重新定義你的方法:

public IHttpActionResult Get(int id) 
+0

OHHHH是的,問題在於參數,我必須用文件替換它。非常感謝你。 – Tuximo