我剛剛添加了一個新的ApiController到我的ASP.NET MVC4項目(我已經有一個ApiController也在Controllers文件夾中),名爲ServerInfoController。我使用CRUD模板選項創建了它;下面是它的樣子:ASP.NET Web API返回代碼404與新創建的ApiController
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebFrontend.Models;
namespace WebFrontend.Controllers
{
public class ServerInfoController : ApiController
{
// GET api/serverinfo
public Dictionary<string, string> Get()
{
var settings = GlobalStaticVars.StaticCore.LoadServerSettings("Last", "Server");
if (settings != null)
{
return new Dictionary<string, string>
{
{"ServerIP", settings.Address},
{"ServerPort", settings.Port.ToString()}
};
}
return new Dictionary<string, string>
{
{"ServerIP", ""},
{"ServerPort", ""}
};
}
}
}
但是,每次我嘗試導航到瀏覽器中的資源時,都會收到404錯誤。我知道我的路由已正確註冊,因爲我的其他控制器仍然可以在/ api端點訪問。
以下是在WebApiConfig.cs配置(這是缺省路由)的路由:您不需要在路由{}行動部分
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
您可以顯示您的網絡API的路線?此外最新的網址你打電話。 – gdp 2013-03-07 20:55:15
完成。我在上面添加了它。此外,我打電話的URL將是類似於http:// localhost:66555/api/serverinfo – wibarr 2013-03-07 20:56:40